实例介绍
3D三角形网格模型补洞算法源代码,原为linux平台下编译,现已改为Windows环境下;由于使用了C++11新特性,需通过VS2013或更高版本编译。
【实例截图】
【核心代码】
MeshFixer
└── MeshFixer
├── bunnyhole.off
├── Debug
│ ├── MeshFixer.exe
│ ├── MeshFixer.ilk
│ └── MeshFixer.pdb
├── hole_fixer-master
│ ├── bunnyhole.off
│ ├── CMakeLists.txt
│ ├── img
│ │ ├── bunnymontage.png
│ │ └── spheremontage.png
│ ├── libigl
│ │ ├── eigen
│ │ │ ├── Eigen
│ │ │ │ ├── Array
│ │ │ │ ├── Cholesky
│ │ │ │ ├── CholmodSupport
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Core
│ │ │ │ ├── Dense
│ │ │ │ ├── Eigen
│ │ │ │ ├── Eigen2Support
│ │ │ │ ├── Eigenvalues
│ │ │ │ ├── Geometry
│ │ │ │ ├── Householder
│ │ │ │ ├── IterativeLinearSolvers
│ │ │ │ ├── Jacobi
│ │ │ │ ├── LeastSquares
│ │ │ │ ├── LU
│ │ │ │ ├── MetisSupport
│ │ │ │ ├── OrderingMethods
│ │ │ │ ├── PardisoSupport
│ │ │ │ ├── PaStiXSupport
│ │ │ │ ├── QR
│ │ │ │ ├── QtAlignedMalloc
│ │ │ │ ├── Sparse
│ │ │ │ ├── SparseCholesky
│ │ │ │ ├── SparseCore
│ │ │ │ ├── SparseLU
│ │ │ │ ├── SparseQR
│ │ │ │ ├── SPQRSupport
│ │ │ │ ├── src
│ │ │ │ │ ├── Cholesky
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── LDLT.h
│ │ │ │ │ │ ├── LLT.h
│ │ │ │ │ │ └── LLT_MKL.h
│ │ │ │ │ ├── CholmodSupport
│ │ │ │ │ │ ├── CholmodSupport.h
│ │ │ │ │ │ └── CMakeLists.txt
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Core
│ │ │ │ │ │ ├── arch
│ │ │ │ │ │ │ ├── AltiVec
│ │ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ │ ├── Complex.h
│ │ │ │ │ │ │ │ └── PacketMath.h
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── Default
│ │ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ │ └── Settings.h
│ │ │ │ │ │ │ ├── NEON
│ │ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ │ ├── Complex.h
│ │ │ │ │ │ │ │ └── PacketMath.h
│ │ │ │ │ │ │ └── SSE
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── Complex.h
│ │ │ │ │ │ │ ├── MathFunctions.h
│ │ │ │ │ │ │ └── PacketMath.h
│ │ │ │ │ │ ├── ArrayBase.h
│ │ │ │ │ │ ├── Array.h
│ │ │ │ │ │ ├── ArrayWrapper.h
│ │ │ │ │ │ ├── Assign.h
│ │ │ │ │ │ ├── Assign_MKL.h
│ │ │ │ │ │ ├── BandMatrix.h
│ │ │ │ │ │ ├── Block.h
│ │ │ │ │ │ ├── BooleanRedux.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── CommaInitializer.h
│ │ │ │ │ │ ├── CoreIterators.h
│ │ │ │ │ │ ├── CwiseBinaryOp.h
│ │ │ │ │ │ ├── CwiseNullaryOp.h
│ │ │ │ │ │ ├── CwiseUnaryOp.h
│ │ │ │ │ │ ├── CwiseUnaryView.h
│ │ │ │ │ │ ├── DenseBase.h
│ │ │ │ │ │ ├── DenseCoeffsBase.h
│ │ │ │ │ │ ├── DenseStorage.h
│ │ │ │ │ │ ├── Diagonal.h
│ │ │ │ │ │ ├── DiagonalMatrix.h
│ │ │ │ │ │ ├── DiagonalProduct.h
│ │ │ │ │ │ ├── Dot.h
│ │ │ │ │ │ ├── EigenBase.h
│ │ │ │ │ │ ├── Flagged.h
│ │ │ │ │ │ ├── ForceAlignedAccess.h
│ │ │ │ │ │ ├── Functors.h
│ │ │ │ │ │ ├── Fuzzy.h
│ │ │ │ │ │ ├── GeneralProduct.h
│ │ │ │ │ │ ├── GenericPacketMath.h
│ │ │ │ │ │ ├── GlobalFunctions.h
│ │ │ │ │ │ ├── IO.h
│ │ │ │ │ │ ├── MapBase.h
│ │ │ │ │ │ ├── Map.h
│ │ │ │ │ │ ├── MathFunctions.h
│ │ │ │ │ │ ├── MatrixBase.h
│ │ │ │ │ │ ├── Matrix.h
│ │ │ │ │ │ ├── NestByValue.h
│ │ │ │ │ │ ├── NoAlias.h
│ │ │ │ │ │ ├── NumTraits.h
│ │ │ │ │ │ ├── PermutationMatrix.h
│ │ │ │ │ │ ├── PlainObjectBase.h
│ │ │ │ │ │ ├── ProductBase.h
│ │ │ │ │ │ ├── products
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── CoeffBasedProduct.h
│ │ │ │ │ │ │ ├── GeneralBlockPanelKernel.h
│ │ │ │ │ │ │ ├── GeneralMatrixMatrix.h
│ │ │ │ │ │ │ ├── GeneralMatrixMatrix_MKL.h
│ │ │ │ │ │ │ ├── GeneralMatrixMatrixTriangular.h
│ │ │ │ │ │ │ ├── GeneralMatrixMatrixTriangular_MKL.h
│ │ │ │ │ │ │ ├── GeneralMatrixVector.h
│ │ │ │ │ │ │ ├── GeneralMatrixVector_MKL.h
│ │ │ │ │ │ │ ├── Parallelizer.h
│ │ │ │ │ │ │ ├── SelfadjointMatrixMatrix.h
│ │ │ │ │ │ │ ├── SelfadjointMatrixMatrix_MKL.h
│ │ │ │ │ │ │ ├── SelfadjointMatrixVector.h
│ │ │ │ │ │ │ ├── SelfadjointMatrixVector_MKL.h
│ │ │ │ │ │ │ ├── SelfadjointProduct.h
│ │ │ │ │ │ │ ├── SelfadjointRank2Update.h
│ │ │ │ │ │ │ ├── TriangularMatrixMatrix.h
│ │ │ │ │ │ │ ├── TriangularMatrixMatrix_MKL.h
│ │ │ │ │ │ │ ├── TriangularMatrixVector.h
│ │ │ │ │ │ │ ├── TriangularMatrixVector_MKL.h
│ │ │ │ │ │ │ ├── TriangularSolverMatrix.h
│ │ │ │ │ │ │ ├── TriangularSolverMatrix_MKL.h
│ │ │ │ │ │ │ └── TriangularSolverVector.h
│ │ │ │ │ │ ├── Random.h
│ │ │ │ │ │ ├── Redux.h
│ │ │ │ │ │ ├── Ref.h
│ │ │ │ │ │ ├── Replicate.h
│ │ │ │ │ │ ├── ReturnByValue.h
│ │ │ │ │ │ ├── Reverse.h
│ │ │ │ │ │ ├── Select.h
│ │ │ │ │ │ ├── SelfAdjointView.h
│ │ │ │ │ │ ├── SelfCwiseBinaryOp.h
│ │ │ │ │ │ ├── SolveTriangular.h
│ │ │ │ │ │ ├── StableNorm.h
│ │ │ │ │ │ ├── Stride.h
│ │ │ │ │ │ ├── Swap.h
│ │ │ │ │ │ ├── Transpose.h
│ │ │ │ │ │ ├── Transpositions.h
│ │ │ │ │ │ ├── TriangularMatrix.h
│ │ │ │ │ │ ├── util
│ │ │ │ │ │ │ ├── BlasUtil.h
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── Constants.h
│ │ │ │ │ │ │ ├── DisableStupidWarnings.h
│ │ │ │ │ │ │ ├── ForwardDeclarations.h
│ │ │ │ │ │ │ ├── Macros.h
│ │ │ │ │ │ │ ├── Memory.h
│ │ │ │ │ │ │ ├── Meta.h
│ │ │ │ │ │ │ ├── MKL_support.h
│ │ │ │ │ │ │ ├── NonMPL2.h
│ │ │ │ │ │ │ ├── ReenableStupidWarnings.h
│ │ │ │ │ │ │ ├── StaticAssert.h
│ │ │ │ │ │ │ └── XprHelper.h
│ │ │ │ │ │ ├── VectorBlock.h
│ │ │ │ │ │ ├── VectorwiseOp.h
│ │ │ │ │ │ └── Visitor.h
│ │ │ │ │ ├── Eigen2Support
│ │ │ │ │ │ ├── Block.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── Cwise.h
│ │ │ │ │ │ ├── CwiseOperators.h
│ │ │ │ │ │ ├── Geometry
│ │ │ │ │ │ │ ├── AlignedBox.h
│ │ │ │ │ │ │ ├── All.h
│ │ │ │ │ │ │ ├── AngleAxis.h
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── Hyperplane.h
│ │ │ │ │ │ │ ├── ParametrizedLine.h
│ │ │ │ │ │ │ ├── Quaternion.h
│ │ │ │ │ │ │ ├── Rotation2D.h
│ │ │ │ │ │ │ ├── RotationBase.h
│ │ │ │ │ │ │ ├── Scaling.h
│ │ │ │ │ │ │ ├── Transform.h
│ │ │ │ │ │ │ └── Translation.h
│ │ │ │ │ │ ├── Lazy.h
│ │ │ │ │ │ ├── LeastSquares.h
│ │ │ │ │ │ ├── LU.h
│ │ │ │ │ │ ├── Macros.h
│ │ │ │ │ │ ├── MathFunctions.h
│ │ │ │ │ │ ├── Memory.h
│ │ │ │ │ │ ├── Meta.h
│ │ │ │ │ │ ├── Minor.h
│ │ │ │ │ │ ├── QR.h
│ │ │ │ │ │ ├── SVD.h
│ │ │ │ │ │ ├── TriangularSolver.h
│ │ │ │ │ │ └── VectorBlock.h
│ │ │ │ │ ├── Eigenvalues
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── ComplexEigenSolver.h
│ │ │ │ │ │ ├── ComplexSchur.h
│ │ │ │ │ │ ├── ComplexSchur_MKL.h
│ │ │ │ │ │ ├── EigenSolver.h
│ │ │ │ │ │ ├── GeneralizedEigenSolver.h
│ │ │ │ │ │ ├── GeneralizedSelfAdjointEigenSolver.h
│ │ │ │ │ │ ├── HessenbergDecomposition.h
│ │ │ │ │ │ ├── MatrixBaseEigenvalues.h
│ │ │ │ │ │ ├── RealQZ.h
│ │ │ │ │ │ ├── RealSchur.h
│ │ │ │ │ │ ├── RealSchur_MKL.h
│ │ │ │ │ │ ├── SelfAdjointEigenSolver.h
│ │ │ │ │ │ ├── SelfAdjointEigenSolver_MKL.h
│ │ │ │ │ │ └── Tridiagonalization.h
│ │ │ │ │ ├── Geometry
│ │ │ │ │ │ ├── AlignedBox.h
│ │ │ │ │ │ ├── AngleAxis.h
│ │ │ │ │ │ ├── arch
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ └── Geometry_SSE.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── EulerAngles.h
│ │ │ │ │ │ ├── Homogeneous.h
│ │ │ │ │ │ ├── Hyperplane.h
│ │ │ │ │ │ ├── OrthoMethods.h
│ │ │ │ │ │ ├── ParametrizedLine.h
│ │ │ │ │ │ ├── Quaternion.h
│ │ │ │ │ │ ├── Rotation2D.h
│ │ │ │ │ │ ├── RotationBase.h
│ │ │ │ │ │ ├── Scaling.h
│ │ │ │ │ │ ├── Transform.h
│ │ │ │ │ │ ├── Translation.h
│ │ │ │ │ │ └── Umeyama.h
│ │ │ │ │ ├── Householder
│ │ │ │ │ │ ├── BlockHouseholder.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── Householder.h
│ │ │ │ │ │ └── HouseholderSequence.h
│ │ │ │ │ ├── IterativeLinearSolvers
│ │ │ │ │ │ ├── BasicPreconditioners.h
│ │ │ │ │ │ ├── BiCGSTAB.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── ConjugateGradient.h
│ │ │ │ │ │ ├── IncompleteLUT.h
│ │ │ │ │ │ └── IterativeSolverBase.h
│ │ │ │ │ ├── Jacobi
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── Jacobi.h
│ │ │ │ │ ├── LU
│ │ │ │ │ │ ├── arch
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ └── Inverse_SSE.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── Determinant.h
│ │ │ │ │ │ ├── FullPivLU.h
│ │ │ │ │ │ ├── Inverse.h
│ │ │ │ │ │ ├── PartialPivLU.h
│ │ │ │ │ │ └── PartialPivLU_MKL.h
│ │ │ │ │ ├── MetisSupport
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── MetisSupport.h
│ │ │ │ │ ├── misc
│ │ │ │ │ │ ├── blas.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── Image.h
│ │ │ │ │ │ ├── Kernel.h
│ │ │ │ │ │ ├── Solve.h
│ │ │ │ │ │ └── SparseSolve.h
│ │ │ │ │ ├── OrderingMethods
│ │ │ │ │ │ ├── Amd.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── Eigen_Colamd.h
│ │ │ │ │ │ └── Ordering.h
│ │ │ │ │ ├── PardisoSupport
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── PardisoSupport.h
│ │ │ │ │ ├── PaStiXSupport
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── PaStiXSupport.h
│ │ │ │ │ ├── plugins
│ │ │ │ │ │ ├── ArrayCwiseBinaryOps.h
│ │ │ │ │ │ ├── ArrayCwiseUnaryOps.h
│ │ │ │ │ │ ├── BlockMethods.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── CommonCwiseBinaryOps.h
│ │ │ │ │ │ ├── CommonCwiseUnaryOps.h
│ │ │ │ │ │ ├── MatrixCwiseBinaryOps.h
│ │ │ │ │ │ └── MatrixCwiseUnaryOps.h
│ │ │ │ │ ├── QR
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── ColPivHouseholderQR.h
│ │ │ │ │ │ ├── ColPivHouseholderQR_MKL.h
│ │ │ │ │ │ ├── FullPivHouseholderQR.h
│ │ │ │ │ │ ├── HouseholderQR.h
│ │ │ │ │ │ └── HouseholderQR_MKL.h
│ │ │ │ │ ├── SparseCholesky
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── SimplicialCholesky.h
│ │ │ │ │ │ └── SimplicialCholesky_impl.h
│ │ │ │ │ ├── SparseCore
│ │ │ │ │ │ ├── AmbiVector.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── CompressedStorage.h
│ │ │ │ │ │ ├── ConservativeSparseSparseProduct.h
│ │ │ │ │ │ ├── MappedSparseMatrix.h
│ │ │ │ │ │ ├── SparseBlock.h
│ │ │ │ │ │ ├── SparseColEtree.h
│ │ │ │ │ │ ├── SparseCwiseBinaryOp.h
│ │ │ │ │ │ ├── SparseCwiseUnaryOp.h
│ │ │ │ │ │ ├── SparseDenseProduct.h
│ │ │ │ │ │ ├── SparseDiagonalProduct.h
│ │ │ │ │ │ ├── SparseDot.h
│ │ │ │ │ │ ├── SparseFuzzy.h
│ │ │ │ │ │ ├── SparseMatrixBase.h
│ │ │ │ │ │ ├── SparseMatrix.h
│ │ │ │ │ │ ├── SparsePermutation.h
│ │ │ │ │ │ ├── SparseProduct.h
│ │ │ │ │ │ ├── SparseRedux.h
│ │ │ │ │ │ ├── SparseSelfAdjointView.h
│ │ │ │ │ │ ├── SparseSparseProductWithPruning.h
│ │ │ │ │ │ ├── SparseTranspose.h
│ │ │ │ │ │ ├── SparseTriangularView.h
│ │ │ │ │ │ ├── SparseUtil.h
│ │ │ │ │ │ ├── SparseVector.h
│ │ │ │ │ │ ├── SparseView.h
│ │ │ │ │ │ └── TriangularSolver.h
│ │ │ │ │ ├── SparseLU
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── SparseLU_column_bmod.h
│ │ │ │ │ │ ├── SparseLU_column_dfs.h
│ │ │ │ │ │ ├── SparseLU_copy_to_ucol.h
│ │ │ │ │ │ ├── SparseLU_gemm_kernel.h
│ │ │ │ │ │ ├── SparseLU.h
│ │ │ │ │ │ ├── SparseLU_heap_relax_snode.h
│ │ │ │ │ │ ├── SparseLUImpl.h
│ │ │ │ │ │ ├── SparseLU_kernel_bmod.h
│ │ │ │ │ │ ├── SparseLU_Memory.h
│ │ │ │ │ │ ├── SparseLU_panel_bmod.h
│ │ │ │ │ │ ├── SparseLU_panel_dfs.h
│ │ │ │ │ │ ├── SparseLU_pivotL.h
│ │ │ │ │ │ ├── SparseLU_pruneL.h
│ │ │ │ │ │ ├── SparseLU_relax_snode.h
│ │ │ │ │ │ ├── SparseLU_Structs.h
│ │ │ │ │ │ ├── SparseLU_SupernodalMatrix.h
│ │ │ │ │ │ └── SparseLU_Utils.h
│ │ │ │ │ ├── SparseQR
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── SparseQR.h
│ │ │ │ │ ├── SPQRSupport
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── SuiteSparseQRSupport.h
│ │ │ │ │ ├── StlSupport
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── details.h
│ │ │ │ │ │ ├── StdDeque.h
│ │ │ │ │ │ ├── StdList.h
│ │ │ │ │ │ └── StdVector.h
│ │ │ │ │ ├── SuperLUSupport
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── SuperLUSupport.h
│ │ │ │ │ ├── SVD
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── JacobiSVD.h
│ │ │ │ │ │ ├── JacobiSVD_MKL.h
│ │ │ │ │ │ └── UpperBidiagonalization.h
│ │ │ │ │ └── UmfPackSupport
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── UmfPackSupport.h
│ │ │ │ ├── StdDeque
│ │ │ │ ├── StdList
│ │ │ │ ├── StdVector
│ │ │ │ ├── SuperLUSupport
│ │ │ │ ├── SVD
│ │ │ │ └── UmfPackSupport
│ │ │ └── unsupported
│ │ │ ├── bench
│ │ │ │ └── bench_svd.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── doc
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── eigendoxy_layout.xml.in
│ │ │ │ ├── examples
│ │ │ │ │ ├── BVH_Example.cpp
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── FFT.cpp
│ │ │ │ │ ├── MatrixExponential.cpp
│ │ │ │ │ ├── MatrixFunction.cpp
│ │ │ │ │ ├── MatrixLogarithm.cpp
│ │ │ │ │ ├── MatrixPower.cpp
│ │ │ │ │ ├── MatrixPower_optimal.cpp
│ │ │ │ │ ├── MatrixSine.cpp
│ │ │ │ │ ├── MatrixSinh.cpp
│ │ │ │ │ ├── MatrixSquareRoot.cpp
│ │ │ │ │ ├── PolynomialSolver1.cpp
│ │ │ │ │ └── PolynomialUtils1.cpp
│ │ │ │ ├── Overview.dox
│ │ │ │ └── snippets
│ │ │ │ └── CMakeLists.txt
│ │ │ ├── Eigen
│ │ │ │ ├── AdolcForward
│ │ │ │ ├── AlignedVector3
│ │ │ │ ├── ArpackSupport
│ │ │ │ ├── AutoDiff
│ │ │ │ ├── BVH
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── FFT
│ │ │ │ ├── IterativeSolvers
│ │ │ │ ├── KroneckerProduct
│ │ │ │ ├── LevenbergMarquardt
│ │ │ │ ├── MatrixFunctions
│ │ │ │ ├── MoreVectorization
│ │ │ │ ├── MPRealSupport
│ │ │ │ ├── NonLinearOptimization
│ │ │ │ ├── NumericalDiff
│ │ │ │ ├── OpenGLSupport
│ │ │ │ ├── Polynomials
│ │ │ │ ├── Skyline
│ │ │ │ ├── SparseExtra
│ │ │ │ ├── Splines
│ │ │ │ ├── src
│ │ │ │ │ ├── AutoDiff
│ │ │ │ │ │ ├── AutoDiffJacobian.h
│ │ │ │ │ │ ├── AutoDiffScalar.h
│ │ │ │ │ │ ├── AutoDiffVector.h
│ │ │ │ │ │ └── CMakeLists.txt
│ │ │ │ │ ├── BVH
│ │ │ │ │ │ ├── BVAlgorithms.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── KdBVH.h
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Eigenvalues
│ │ │ │ │ │ ├── ArpackSelfAdjointEigenSolver.h
│ │ │ │ │ │ └── CMakeLists.txt
│ │ │ │ │ ├── FFT
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── ei_fftw_impl.h
│ │ │ │ │ │ └── ei_kissfft_impl.h
│ │ │ │ │ ├── IterativeSolvers
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── ConstrainedConjGrad.h
│ │ │ │ │ │ ├── DGMRES.h
│ │ │ │ │ │ ├── GMRES.h
│ │ │ │ │ │ ├── IncompleteCholesky.h
│ │ │ │ │ │ ├── IncompleteLU.h
│ │ │ │ │ │ ├── IterationController.h
│ │ │ │ │ │ ├── MINRES.h
│ │ │ │ │ │ └── Scaling.h
│ │ │ │ │ ├── KroneckerProduct
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── KroneckerTensorProduct.h
│ │ │ │ │ ├── LevenbergMarquardt
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── CopyrightMINPACK.txt
│ │ │ │ │ │ ├── LevenbergMarquardt.h
│ │ │ │ │ │ ├── LMcovar.h
│ │ │ │ │ │ ├── LMonestep.h
│ │ │ │ │ │ ├── LMpar.h
│ │ │ │ │ │ └── LMqrsolv.h
│ │ │ │ │ ├── MatrixFunctions
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── MatrixExponential.h
│ │ │ │ │ │ ├── MatrixFunctionAtomic.h
│ │ │ │ │ │ ├── MatrixFunction.h
│ │ │ │ │ │ ├── MatrixLogarithm.h
│ │ │ │ │ │ ├── MatrixPower.h
│ │ │ │ │ │ ├── MatrixSquareRoot.h
│ │ │ │ │ │ └── StemFunction.h
│ │ │ │ │ ├── MoreVectorization
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── MathFunctions.h
│ │ │ │ │ ├── NonLinearOptimization
│ │ │ │ │ │ ├── chkder.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── covar.h
│ │ │ │ │ │ ├── dogleg.h
│ │ │ │ │ │ ├── fdjac1.h
│ │ │ │ │ │ ├── HybridNonLinearSolver.h
│ │ │ │ │ │ ├── LevenbergMarquardt.h
│ │ │ │ │ │ ├── lmpar.h
│ │ │ │ │ │ ├── qrsolv.h
│ │ │ │ │ │ ├── r1mpyq.h
│ │ │ │ │ │ ├── r1updt.h
│ │ │ │ │ │ └── rwupdt.h
│ │ │ │ │ ├── NumericalDiff
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── NumericalDiff.h
│ │ │ │ │ ├── Polynomials
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── Companion.h
│ │ │ │ │ │ ├── PolynomialSolver.h
│ │ │ │ │ │ └── PolynomialUtils.h
│ │ │ │ │ ├── Skyline
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── SkylineInplaceLU.h
│ │ │ │ │ │ ├── SkylineMatrixBase.h
│ │ │ │ │ │ ├── SkylineMatrix.h
│ │ │ │ │ │ ├── SkylineProduct.h
│ │ │ │ │ │ ├── SkylineStorage.h
│ │ │ │ │ │ └── SkylineUtil.h
│ │ │ │ │ ├── SparseExtra
│ │ │ │ │ │ ├── BlockOfDynamicSparseMatrix.h
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── DynamicSparseMatrix.h
│ │ │ │ │ │ ├── MarketIO.h
│ │ │ │ │ │ ├── MatrixMarketIterator.h
│ │ │ │ │ │ └── RandomSetter.h
│ │ │ │ │ ├── Splines
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── SplineFitting.h
│ │ │ │ │ │ ├── SplineFwd.h
│ │ │ │ │ │ └── Spline.h
│ │ │ │ │ └── SVD
│ │ │ │ │ ├── BDCSVD.h
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── doneInBDCSVD.txt
│ │ │ │ │ ├── JacobiSVD.h
│ │ │ │ │ ├── SVDBase.h
│ │ │ │ │ └── TODOBdcsvd.txt
│ │ │ │ └── SVD
│ │ │ ├── README.txt
│ │ │ └── test
│ │ │ ├── alignedvector3.cpp
│ │ │ ├── autodiff.cpp
│ │ │ ├── bdcsvd.cpp
│ │ │ ├── BVH.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── dgmres.cpp
│ │ │ ├── FFT.cpp
│ │ │ ├── FFTW.cpp
│ │ │ ├── forward_adolc.cpp
│ │ │ ├── gmres.cpp
│ │ │ ├── jacobisvd.cpp
│ │ │ ├── kronecker_product.cpp
│ │ │ ├── levenberg_marquardt.cpp
│ │ │ ├── matrix_exponential.cpp
│ │ │ ├── matrix_function.cpp
│ │ │ ├── matrix_functions.h
│ │ │ ├── matrix_power.cpp
│ │ │ ├── matrix_square_root.cpp
│ │ │ ├── minres.cpp
│ │ │ ├── mpreal
│ │ │ │ └── mpreal.h
│ │ │ ├── mpreal_support.cpp
│ │ │ ├── NonLinearOptimization.cpp
│ │ │ ├── NumericalDiff.cpp
│ │ │ ├── openglsupport.cpp
│ │ │ ├── polynomialsolver.cpp
│ │ │ ├── polynomialutils.cpp
│ │ │ ├── sparse_extra.cpp
│ │ │ ├── splines.cpp
│ │ │ └── svd_common.h
│ │ └── igl
│ │ ├── AABB.cpp
│ │ ├── AABB.h
│ │ ├── active_set.cpp
│ │ ├── active_set.h
│ │ ├── adjacency_list.cpp
│ │ ├── adjacency_list.h
│ │ ├── adjacency_matrix.cpp
│ │ ├── adjacency_matrix.h
│ │ ├── all.cpp
│ │ ├── all_edges.cpp
│ │ ├── all_edges.h
│ │ ├── all.h
│ │ ├── all_pairs_distances.cpp
│ │ ├── all_pairs_distances.h
│ │ ├── ambient_occlusion.cpp
│ │ ├── ambient_occlusion.h
│ │ ├── angle_bound_frame_fields.cpp
│ │ ├── angle_bound_frame_fields.h
│ │ ├── angular_distance.cpp
│ │ ├── angular_distance.h
│ │ ├── anttweakbar
│ │ │ ├── cocoa_key_to_anttweakbar_key.cpp
│ │ │ ├── cocoa_key_to_anttweakbar_key.h
│ │ │ ├── ReAntTweakBar.cpp
│ │ │ └── ReAntTweakBar.h
│ │ ├── any.cpp
│ │ ├── any.h
│ │ ├── any_of.cpp
│ │ ├── any_of.h
│ │ ├── arap.cpp
│ │ ├── arap_dof.cpp
│ │ ├── arap_dof.h
│ │ ├── ARAPEnergyType.h
│ │ ├── arap.h
│ │ ├── arap_linear_block.cpp
│ │ ├── arap_linear_block.h
│ │ ├── arap_rhs.cpp
│ │ ├── arap_rhs.h
│ │ ├── AtA_cached.cpp
│ │ ├── AtA_cached.h
│ │ ├── Attribute.h
│ │ ├── average_onto_faces.cpp
│ │ ├── average_onto_faces.h
│ │ ├── average_onto_vertices.cpp
│ │ ├── average_onto_vertices.h
│ │ ├── avg_edge_length.cpp
│ │ ├── avg_edge_length.h
│ │ ├── axis_angle_to_quat.cpp
│ │ ├── axis_angle_to_quat.h
│ │ ├── barycenter.cpp
│ │ ├── barycenter.h
│ │ ├── barycentric_coordinates.cpp
│ │ ├── barycentric_coordinates.h
│ │ ├── barycentric_to_global.cpp
│ │ ├── barycentric_to_global.h
│ │ ├── basename.cpp
│ │ ├── basename.h
│ │ ├── bbw.cpp
│ │ ├── bbw.h
│ │ ├── bfs.cpp
│ │ ├── bfs.h
│ │ ├── bfs_orient.cpp
│ │ ├── bfs_orient.h
│ │ ├── biharmonic_coordinates.cpp
│ │ ├── biharmonic_coordinates.h
│ │ ├── bijective_composite_harmonic_mapping.cpp
│ │ ├── bijective_composite_harmonic_mapping.h
│ │ ├── bone_parents.cpp
│ │ ├── bone_parents.h
│ │ ├── boundary_conditions.cpp
│ │ ├── boundary_conditions.h
│ │ ├── boundary_facets.cpp
│ │ ├── boundary_facets.h
│ │ ├── boundary_loop.cpp
│ │ ├── boundary_loop.h
│ │ ├── bounding_box.cpp
│ │ ├── bounding_box_diagonal.cpp
│ │ ├── bounding_box_diagonal.h
│ │ ├── bounding_box.h
│ │ ├── Camera.h
│ │ ├── canonical_quaternions.cpp
│ │ ├── canonical_quaternions.h
│ │ ├── cat.cpp
│ │ ├── cat.h
│ │ ├── ceil.cpp
│ │ ├── ceil.h
│ │ ├── centroid.cpp
│ │ ├── centroid.h
│ │ ├── circulation.cpp
│ │ ├── circulation.h
│ │ ├── circumradius.cpp
│ │ ├── circumradius.h
│ │ ├── collapse_edge.cpp
│ │ ├── collapse_edge.h
│ │ ├── collapse_small_triangles.cpp
│ │ ├── collapse_small_triangles.h
│ │ ├── colon.cpp
│ │ ├── colon.h
│ │ ├── colormap.cpp
│ │ ├── colormap.h
│ │ ├── columnize.cpp
│ │ ├── columnize.h
│ │ ├── column_to_quats.cpp
│ │ ├── column_to_quats.h
│ │ ├── comb_cross_field.cpp
│ │ ├── comb_cross_field.h
│ │ ├── comb_frame_field.cpp
│ │ ├── comb_frame_field.h
│ │ ├── combine.cpp
│ │ ├── combine.h
│ │ ├── comb_line_field.cpp
│ │ ├── comb_line_field.h
│ │ ├── components.cpp
│ │ ├── components.h
│ │ ├── compute_frame_field_bisectors.cpp
│ │ ├── compute_frame_field_bisectors.h
│ │ ├── ConjugateFFSolverData.h
│ │ ├── conjugate_frame_fields.cpp
│ │ ├── conjugate_frame_fields.h
│ │ ├── connect_boundary_to_infinity.cpp
│ │ ├── connect_boundary_to_infinity.h
│ │ ├── copyleft
│ │ │ ├── cgal
│ │ │ │ ├── assign.cpp
│ │ │ │ ├── assign.h
│ │ │ │ ├── assign_scalar.cpp
│ │ │ │ ├── assign_scalar.h
│ │ │ │ ├── barycenter.cpp
│ │ │ │ ├── BinaryWindingNumberOperations.h
│ │ │ │ ├── cell_adjacency.cpp
│ │ │ │ ├── cell_adjacency.h
│ │ │ │ ├── CGAL_includes.hpp
│ │ │ │ ├── closest_facet.cpp
│ │ │ │ ├── closest_facet.h
│ │ │ │ ├── complex_to_mesh.cpp
│ │ │ │ ├── complex_to_mesh.h
│ │ │ │ ├── component_inside_component.cpp
│ │ │ │ ├── component_inside_component.h
│ │ │ │ ├── convex_hull.cpp
│ │ │ │ ├── convex_hull.h
│ │ │ │ ├── CSGTree.h
│ │ │ │ ├── delaunay_triangulation.cpp
│ │ │ │ ├── delaunay_triangulation.h
│ │ │ │ ├── extract_cells.cpp
│ │ │ │ ├── extract_cells.h
│ │ │ │ ├── extract_feature.cpp
│ │ │ │ ├── extract_feature.h
│ │ │ │ ├── half_space_box.cpp
│ │ │ │ ├── half_space_box.h
│ │ │ │ ├── hausdorff.cpp
│ │ │ │ ├── hausdorff.h
│ │ │ │ ├── incircle.cpp
│ │ │ │ ├── incircle.h
│ │ │ │ ├── insert_into_cdt.cpp
│ │ │ │ ├── insert_into_cdt.h
│ │ │ │ ├── insphere.cpp
│ │ │ │ ├── insphere.h
│ │ │ │ ├── intersect_other.cpp
│ │ │ │ ├── intersect_other.h
│ │ │ │ ├── intersect_with_half_space.cpp
│ │ │ │ ├── intersect_with_half_space.h
│ │ │ │ ├── lexicographic_triangulation.cpp
│ │ │ │ ├── lexicographic_triangulation.h
│ │ │ │ ├── list_to_matrix.cpp
│ │ │ │ ├── mesh_boolean.cpp
│ │ │ │ ├── mesh_boolean.h
│ │ │ │ ├── mesh_boolean_type_to_funcs.cpp
│ │ │ │ ├── mesh_boolean_type_to_funcs.h
│ │ │ │ ├── mesh_to_cgal_triangle_list.cpp
│ │ │ │ ├── mesh_to_cgal_triangle_list.h
│ │ │ │ ├── mesh_to_polyhedron.cpp
│ │ │ │ ├── mesh_to_polyhedron.h
│ │ │ │ ├── minkowski_sum.cpp
│ │ │ │ ├── minkowski_sum.h
│ │ │ │ ├── order_facets_around_edge.cpp
│ │ │ │ ├── order_facets_around_edge.h
│ │ │ │ ├── order_facets_around_edges.cpp
│ │ │ │ ├── order_facets_around_edges.h
│ │ │ │ ├── orient2D.cpp
│ │ │ │ ├── orient2D.h
│ │ │ │ ├── orient3D.cpp
│ │ │ │ ├── orient3D.h
│ │ │ │ ├── outer_element.cpp
│ │ │ │ ├── outer_element.h
│ │ │ │ ├── outer_facet.cpp
│ │ │ │ ├── outer_facet.h
│ │ │ │ ├── outer_hull.cpp
│ │ │ │ ├── outer_hull.h
│ │ │ │ ├── peel_outer_hull_layers.cpp
│ │ │ │ ├── peel_outer_hull_layers.h
│ │ │ │ ├── peel_winding_number_layers.cpp
│ │ │ │ ├── peel_winding_number_layers.h
│ │ │ │ ├── piecewise_constant_winding_number.cpp
│ │ │ │ ├── piecewise_constant_winding_number.h
│ │ │ │ ├── point_mesh_squared_distance.cpp
│ │ │ │ ├── point_mesh_squared_distance.h
│ │ │ │ ├── point_segment_squared_distance.cpp
│ │ │ │ ├── point_segment_squared_distance.h
│ │ │ │ ├── points_inside_component.cpp
│ │ │ │ ├── points_inside_component.h
│ │ │ │ ├── point_solid_signed_squared_distance.cpp
│ │ │ │ ├── point_solid_signed_squared_distance.h
│ │ │ │ ├── point_triangle_squared_distance.cpp
│ │ │ │ ├── point_triangle_squared_distance.h
│ │ │ │ ├── polyhedron_to_mesh.cpp
│ │ │ │ ├── polyhedron_to_mesh.h
│ │ │ │ ├── projected_cdt.cpp
│ │ │ │ ├── projected_cdt.h
│ │ │ │ ├── projected_delaunay.cpp
│ │ │ │ ├── projected_delaunay.h
│ │ │ │ ├── propagate_winding_numbers.cpp
│ │ │ │ ├── propagate_winding_numbers.h
│ │ │ │ ├── read_triangle_mesh.cpp
│ │ │ │ ├── read_triangle_mesh.h
│ │ │ │ ├── relabel_small_immersed_cells.cpp
│ │ │ │ ├── relabel_small_immersed_cells.h
│ │ │ │ ├── remesh_intersections.cpp
│ │ │ │ ├── remesh_intersections.h
│ │ │ │ ├── remesh_self_intersections.cpp
│ │ │ │ ├── remesh_self_intersections.h
│ │ │ │ ├── RemeshSelfIntersectionsParam.h
│ │ │ │ ├── remove_unreferenced.cpp
│ │ │ │ ├── resolve_intersections.cpp
│ │ │ │ ├── resolve_intersections.h
│ │ │ │ ├── row_to_point.cpp
│ │ │ │ ├── row_to_point.h
│ │ │ │ ├── segment_segment_squared_distance.cpp
│ │ │ │ ├── segment_segment_squared_distance.h
│ │ │ │ ├── SelfIntersectMesh.h
│ │ │ │ ├── signed_distance_isosurface.cpp
│ │ │ │ ├── signed_distance_isosurface.h
│ │ │ │ ├── slice.cpp
│ │ │ │ ├── slice_mask.cpp
│ │ │ │ ├── snap_rounding.cpp
│ │ │ │ ├── snap_rounding.h
│ │ │ │ ├── string_to_mesh_boolean_type.cpp
│ │ │ │ ├── string_to_mesh_boolean_type.h
│ │ │ │ ├── subdivide_segments.cpp
│ │ │ │ ├── subdivide_segments.h
│ │ │ │ ├── submesh_aabb_tree.cpp
│ │ │ │ ├── submesh_aabb_tree.h
│ │ │ │ ├── triangle_triangle_squared_distance.cpp
│ │ │ │ ├── triangle_triangle_squared_distance.h
│ │ │ │ ├── trim_with_solid.cpp
│ │ │ │ ├── trim_with_solid.h
│ │ │ │ ├── unique.cpp
│ │ │ │ ├── unique_rows.cpp
│ │ │ │ ├── wire_mesh.cpp
│ │ │ │ └── wire_mesh.h
│ │ │ ├── comiso
│ │ │ │ ├── frame_field.cpp
│ │ │ │ ├── frame_field.h
│ │ │ │ ├── miq.cpp
│ │ │ │ ├── miq.h
│ │ │ │ ├── nrosy.cpp
│ │ │ │ └── nrosy.h
│ │ │ ├── cork
│ │ │ │ ├── from_cork_mesh.cpp
│ │ │ │ ├── from_cork_mesh.h
│ │ │ │ ├── mesh_boolean.cpp
│ │ │ │ ├── mesh_boolean.h
│ │ │ │ ├── to_cork_mesh.cpp
│ │ │ │ └── to_cork_mesh.h
│ │ │ ├── marching_cubes.cpp
│ │ │ ├── marching_cubes.h
│ │ │ ├── marching_cubes_tables.h
│ │ │ ├── offset_surface.cpp
│ │ │ ├── offset_surface.h
│ │ │ ├── opengl2
│ │ │ │ ├── render_to_tga.cpp
│ │ │ │ ├── render_to_tga.h
│ │ │ │ ├── texture_from_tga.cpp
│ │ │ │ ├── texture_from_tga.h
│ │ │ │ ├── tga.cpp
│ │ │ │ └── tga.h
│ │ │ ├── progressive_hulls_cost_and_placement.cpp
│ │ │ ├── progressive_hulls_cost_and_placement.h
│ │ │ ├── progressive_hulls.cpp
│ │ │ ├── progressive_hulls.h
│ │ │ ├── quadprog.cpp
│ │ │ ├── quadprog.h
│ │ │ ├── README.md
│ │ │ ├── swept_volume.cpp
│ │ │ ├── swept_volume.h
│ │ │ └── tetgen
│ │ │ ├── cdt.cpp
│ │ │ ├── cdt.h
│ │ │ ├── mesh_to_tetgenio.cpp
│ │ │ ├── mesh_to_tetgenio.h
│ │ │ ├── mesh_with_skeleton.cpp
│ │ │ ├── mesh_with_skeleton.h
│ │ │ ├── read_into_tetgenio.cpp
│ │ │ ├── read_into_tetgenio.h
│ │ │ ├── README
│ │ │ ├── tetgenio_to_tetmesh.cpp
│ │ │ ├── tetgenio_to_tetmesh.h
│ │ │ ├── tetrahedralize.cpp
│ │ │ └── tetrahedralize.h
│ │ ├── cotmatrix.cpp
│ │ ├── cotmatrix_entries.cpp
│ │ ├── cotmatrix_entries.h
│ │ ├── cotmatrix.h
│ │ ├── count.cpp
│ │ ├── count.h
│ │ ├── covariance_scatter_matrix.cpp
│ │ ├── covariance_scatter_matrix.h
│ │ ├── cross.cpp
│ │ ├── cross_field_missmatch.cpp
│ │ ├── cross_field_missmatch.h
│ │ ├── cross.h
│ │ ├── crouzeix_raviart_cotmatrix.cpp
│ │ ├── crouzeix_raviart_cotmatrix.h
│ │ ├── crouzeix_raviart_massmatrix.cpp
│ │ ├── crouzeix_raviart_massmatrix.h
│ │ ├── C_STR.h
│ │ ├── cumsum.cpp
│ │ ├── cumsum.h
│ │ ├── cut_mesh.cpp
│ │ ├── cut_mesh_from_singularities.cpp
│ │ ├── cut_mesh_from_singularities.h
│ │ ├── cut_mesh.h
│ │ ├── cylinder.cpp
│ │ ├── cylinder.h
│ │ ├── dated_copy.cpp
│ │ ├── dated_copy.h
│ │ ├── decimate.cpp
│ │ ├── decimate.h
│ │ ├── deform_skeleton.cpp
│ │ ├── deform_skeleton.h
│ │ ├── delaunay_triangulation.cpp
│ │ ├── delaunay_triangulation.h
│ │ ├── deprecated.h
│ │ ├── dfs.cpp
│ │ ├── dfs.h
│ │ ├── diag.cpp
│ │ ├── diag.h
│ │ ├── dihedral_angles.cpp
│ │ ├── dihedral_angles.h
│ │ ├── dijkstra.cpp
│ │ ├── dijkstra.h
│ │ ├── directed_edge_orientations.cpp
│ │ ├── directed_edge_orientations.h
│ │ ├── directed_edge_parents.cpp
│ │ ├── directed_edge_parents.h
│ │ ├── dirname.cpp
│ │ ├── dirname.h
│ │ ├── dot.cpp
│ │ ├── dot.h
│ │ ├── dot_row.cpp
│ │ ├── dot_row.h
│ │ ├── doublearea.cpp
│ │ ├── doublearea.h
│ │ ├── dqs.cpp
│ │ ├── dqs.h
│ │ ├── ears.cpp
│ │ ├── ears.h
│ │ ├── edge_collapse_is_valid.cpp
│ │ ├── edge_collapse_is_valid.h
│ │ ├── edge_flaps.cpp
│ │ ├── edge_flaps.h
│ │ ├── edge_lengths.cpp
│ │ ├── edge_lengths.h
│ │ ├── edges.cpp
│ │ ├── edges.h
│ │ ├── edges_to_path.cpp
│ │ ├── edges_to_path.h
│ │ ├── edge_topology.cpp
│ │ ├── edge_topology.h
│ │ ├── eigs.cpp
│ │ ├── eigs.h
│ │ ├── embree
│ │ │ ├── ambient_occlusion.cpp
│ │ │ ├── ambient_occlusion.h
│ │ │ ├── bone_heat.cpp
│ │ │ ├── bone_heat.h
│ │ │ ├── bone_visible.cpp
│ │ │ ├── bone_visible.h
│ │ │ ├── Embree_convenience.h
│ │ │ ├── EmbreeIntersector.h
│ │ │ ├── line_mesh_intersection.cpp
│ │ │ ├── line_mesh_intersection.h
│ │ │ ├── reorient_facets_raycast.cpp
│ │ │ ├── reorient_facets_raycast.h
│ │ │ ├── shape_diameter_function.cpp
│ │ │ ├── shape_diameter_function.h
│ │ │ ├── unproject_in_mesh.cpp
│ │ │ ├── unproject_in_mesh.h
│ │ │ ├── unproject_onto_mesh.cpp
│ │ │ └── unproject_onto_mesh.h
│ │ ├── EPS.cpp
│ │ ├── EPS.h
│ │ ├── euler_characteristic.cpp
│ │ ├── euler_characteristic.h
│ │ ├── exact_geodesic.cpp
│ │ ├── exact_geodesic.h
│ │ ├── example_fun.cpp
│ │ ├── example_fun.h
│ │ ├── exterior_edges.cpp
│ │ ├── exterior_edges.h
│ │ ├── extract_manifold_patches.cpp
│ │ ├── extract_manifold_patches.h
│ │ ├── extract_non_manifold_edge_curves.cpp
│ │ ├── extract_non_manifold_edge_curves.h
│ │ ├── face_areas.cpp
│ │ ├── face_areas.h
│ │ ├── face_occurrences.cpp
│ │ ├── face_occurrences.h
│ │ ├── faces_first.cpp
│ │ ├── faces_first.h
│ │ ├── facet_components.cpp
│ │ ├── facet_components.h
│ │ ├── false_barycentric_subdivision.cpp
│ │ ├── false_barycentric_subdivision.h
│ │ ├── field_local_global_conversions.cpp
│ │ ├── field_local_global_conversions.h
│ │ ├── file_contents_as_string.cpp
│ │ ├── file_contents_as_string.h
│ │ ├── file_dialog_open.cpp
│ │ ├── file_dialog_open.h
│ │ ├── file_dialog_save.cpp
│ │ ├── file_dialog_save.h
│ │ ├── file_exists.cpp
│ │ ├── file_exists.h
│ │ ├── find.cpp
│ │ ├── find_cross_field_singularities.cpp
│ │ ├── find_cross_field_singularities.h
│ │ ├── find.h
│ │ ├── find_zero.cpp
│ │ ├── find_zero.h
│ │ ├── fit_plane.cpp
│ │ ├── fit_plane.h
│ │ ├── fit_rotations.cpp
│ │ ├── fit_rotations.h
│ │ ├── flip_avoiding_line_search.cpp
│ │ ├── flip_avoiding_line_search.h
│ │ ├── flip_edge.cpp
│ │ ├── flip_edge.h
│ │ ├── flipped_triangles.cpp
│ │ ├── flipped_triangles.h
│ │ ├── flood_fill.cpp
│ │ ├── flood_fill.h
│ │ ├── floor.cpp
│ │ ├── floor.h
│ │ ├── for_each.h
│ │ ├── forward_kinematics.cpp
│ │ ├── forward_kinematics.h
│ │ ├── frame_field_deformer.cpp
│ │ ├── frame_field_deformer.h
│ │ ├── frame_to_cross_field.cpp
│ │ ├── frame_to_cross_field.h
│ │ ├── frustum.cpp
│ │ ├── frustum.h
│ │ ├── gaussian_curvature.cpp
│ │ ├── gaussian_curvature.h
│ │ ├── get_seconds.cpp
│ │ ├── get_seconds.h
│ │ ├── get_seconds_hires.cpp
│ │ ├── get_seconds_hires.h
│ │ ├── grad.cpp
│ │ ├── grad.h
│ │ ├── grid.cpp
│ │ ├── grid.h
│ │ ├── grid_search.cpp
│ │ ├── grid_search.h
│ │ ├── group_sum_matrix.cpp
│ │ ├── group_sum_matrix.h
│ │ ├── guess_extension.cpp
│ │ ├── guess_extension.h
│ │ ├── HalfEdgeIterator.cpp
│ │ ├── HalfEdgeIterator.h
│ │ ├── harmonic.cpp
│ │ ├── harmonic.h
│ │ ├── harwell_boeing.cpp
│ │ ├── harwell_boeing.h
│ │ ├── hausdorff.cpp
│ │ ├── hausdorff.h
│ │ ├── hessian.cpp
│ │ ├── hessian_energy.cpp
│ │ ├── hessian_energy.h
│ │ ├── hessian.h
│ │ ├── histc.cpp
│ │ ├── histc.h
│ │ ├── Hit.h
│ │ ├── hsv_to_rgb.cpp
│ │ ├── hsv_to_rgb.h
│ │ ├── igl_inline.h
│ │ ├── IndexComparison.h
│ │ ├── in_element.cpp
│ │ ├── in_element.h
│ │ ├── infinite_cost_stopping_condition.cpp
│ │ ├── infinite_cost_stopping_condition.h
│ │ ├── inradius.cpp
│ │ ├── inradius.h
│ │ ├── integrable_polyvector_fields.cpp
│ │ ├── integrable_polyvector_fields.h
│ │ ├── internal_angles.cpp
│ │ ├── internal_angles.h
│ │ ├── intersect.cpp
│ │ ├── intersect.h
│ │ ├── invert_diag.cpp
│ │ ├── invert_diag.h
│ │ ├── IO
│ │ ├── is_border_vertex.cpp
│ │ ├── is_border_vertex.h
│ │ ├── is_boundary_edge.cpp
│ │ ├── is_boundary_edge.h
│ │ ├── isdiag.cpp
│ │ ├── isdiag.h
│ │ ├── is_dir.cpp
│ │ ├── is_dir.h
│ │ ├── is_edge_manifold.cpp
│ │ ├── is_edge_manifold.h
│ │ ├── is_file.cpp
│ │ ├── is_file.h
│ │ ├── is_irregular_vertex.cpp
│ │ ├── is_irregular_vertex.h
│ │ ├── ismember.cpp
│ │ ├── ismember.h
│ │ ├── isolines.cpp
│ │ ├── isolines.h
│ │ ├── is_planar.cpp
│ │ ├── is_planar.h
│ │ ├── is_readable.cpp
│ │ ├── is_readable.h
│ │ ├── is_sparse.cpp
│ │ ├── is_sparse.h
│ │ ├── is_stl.cpp
│ │ ├── is_stl.h
│ │ ├── is_symmetric.cpp
│ │ ├── is_symmetric.h
│ │ ├── is_vertex_manifold.cpp
│ │ ├── is_vertex_manifold.h
│ │ ├── is_writable.cpp
│ │ ├── is_writable.h
│ │ ├── jet.cpp
│ │ ├── jet.h
│ │ ├── launch_medit.cpp
│ │ ├── launch_medit.h
│ │ ├── lbs_matrix.cpp
│ │ ├── lbs_matrix.h
│ │ ├── lexicographic_triangulation.cpp
│ │ ├── lexicographic_triangulation.h
│ │ ├── lim
│ │ │ ├── lim.cpp
│ │ │ └── lim.h
│ │ ├── limit_faces.cpp
│ │ ├── limit_faces.h
│ │ ├── line_field_missmatch.cpp
│ │ ├── line_field_missmatch.h
│ │ ├── line_search.cpp
│ │ ├── line_search.h
│ │ ├── line_segment_in_rectangle.cpp
│ │ ├── line_segment_in_rectangle.h
│ │ ├── linprog.cpp
│ │ ├── linprog.h
│ │ ├── LinSpaced.h
│ │ ├── list_to_matrix.cpp
│ │ ├── list_to_matrix.h
│ │ ├── local_basis.cpp
│ │ ├── local_basis.h
│ │ ├── look_at.cpp
│ │ ├── look_at.h
│ │ ├── loop.cpp
│ │ ├── loop.h
│ │ ├── lscm.cpp
│ │ ├── lscm.h
│ │ ├── map_vertices_to_circle.cpp
│ │ ├── map_vertices_to_circle.h
│ │ ├── massmatrix.cpp
│ │ ├── massmatrix.h
│ │ ├── material_colors.h
│ │ ├── matlab
│ │ │ ├── matlabinterface.cpp
│ │ │ ├── matlabinterface.h
│ │ │ ├── MatlabWorkspace.h
│ │ │ ├── mexErrMsgTxt.cpp
│ │ │ ├── mexErrMsgTxt.h
│ │ │ ├── MexStream.h
│ │ │ ├── parse_rhs.cpp
│ │ │ ├── parse_rhs.h
│ │ │ ├── prepare_lhs.cpp
│ │ │ ├── prepare_lhs.h
│ │ │ ├── requires_arg.cpp
│ │ │ ├── requires_arg.h
│ │ │ ├── validate_arg.cpp
│ │ │ └── validate_arg.h
│ │ ├── matlab_format.cpp
│ │ ├── matlab_format.h
│ │ ├── mat_max.cpp
│ │ ├── mat_max.h
│ │ ├── mat_min.cpp
│ │ ├── mat_min.h
│ │ ├── matrix_to_list.cpp
│ │ ├── matrix_to_list.h
│ │ ├── mat_to_quat.cpp
│ │ ├── mat_to_quat.h
│ │ ├── max.cpp
│ │ ├── max_faces_stopping_condition.cpp
│ │ ├── max_faces_stopping_condition.h
│ │ ├── max.h
│ │ ├── max_size.cpp
│ │ ├── max_size.h
│ │ ├── median.cpp
│ │ ├── median.h
│ │ ├── MeshBooleanType.h
│ │ ├── min.cpp
│ │ ├── min.h
│ │ ├── min_quad_dense.cpp
│ │ ├── min_quad_dense.h
│ │ ├── min_quad_with_fixed.cpp
│ │ ├── min_quad_with_fixed.h
│ │ ├── min_size.cpp
│ │ ├── min_size.h
│ │ ├── mod.cpp
│ │ ├── mode.cpp
│ │ ├── mode.h
│ │ ├── mod.h
│ │ ├── mosek
│ │ │ ├── bbw.cpp
│ │ │ ├── bbw.h
│ │ │ ├── mosek_guarded.cpp
│ │ │ ├── mosek_guarded.h
│ │ │ ├── mosek_linprog.cpp
│ │ │ ├── mosek_linprog.h
│ │ │ ├── mosek_quadprog.cpp
│ │ │ └── mosek_quadprog.h
│ │ ├── mvc.cpp
│ │ ├── mvc.h
│ │ ├── nchoosek.cpp
│ │ ├── nchoosek.h
│ │ ├── next_filename.cpp
│ │ ├── next_filename.h
│ │ ├── normal_derivative.cpp
│ │ ├── normal_derivative.h
│ │ ├── normalize_quat.cpp
│ │ ├── normalize_quat.h
│ │ ├── normalize_row_lengths.cpp
│ │ ├── normalize_row_lengths.h
│ │ ├── normalize_row_sums.cpp
│ │ ├── normalize_row_sums.h
│ │ ├── NormalType.h
│ │ ├── n_polyvector.cpp
│ │ ├── n_polyvector_general.cpp
│ │ ├── n_polyvector_general.h
│ │ ├── n_polyvector.h
│ │ ├── null.cpp
│ │ ├── null.h
│ │ ├── on_boundary.cpp
│ │ ├── on_boundary.h
│ │ ├── ONE.h
│ │ ├── opengl
│ │ │ ├── bind_vertex_attrib_array.cpp
│ │ │ ├── bind_vertex_attrib_array.h
│ │ │ ├── create_index_vbo.cpp
│ │ │ ├── create_index_vbo.h
│ │ │ ├── create_mesh_vbo.cpp
│ │ │ ├── create_mesh_vbo.h
│ │ │ ├── create_shader_program.cpp
│ │ │ ├── create_shader_program.h
│ │ │ ├── create_vector_vbo.cpp
│ │ │ ├── create_vector_vbo.h
│ │ │ ├── destroy_shader_program.cpp
│ │ │ ├── destroy_shader_program.h
│ │ │ ├── glfw
│ │ │ │ ├── background_window.cpp
│ │ │ │ ├── background_window.h
│ │ │ │ ├── imgui
│ │ │ │ │ ├── ImGuiHelpers.h
│ │ │ │ │ ├── ImGuiMenu.cpp
│ │ │ │ │ └── ImGuiMenu.h
│ │ │ │ ├── map_texture.cpp
│ │ │ │ ├── map_texture.h
│ │ │ │ ├── TextRenderer.cpp
│ │ │ │ ├── TextRenderer_fonts.cpp
│ │ │ │ ├── TextRenderer_fonts.h
│ │ │ │ ├── TextRenderer.h
│ │ │ │ ├── Viewer.cpp
│ │ │ │ ├── Viewer.h
│ │ │ │ └── ViewerPlugin.h
│ │ │ ├── gl.h
│ │ │ ├── gl_type_size.cpp
│ │ │ ├── gl_type_size.h
│ │ │ ├── init_render_to_texture.cpp
│ │ │ ├── init_render_to_texture.h
│ │ │ ├── load_shader.cpp
│ │ │ ├── load_shader.h
│ │ │ ├── MeshGL.cpp
│ │ │ ├── MeshGL.h
│ │ │ ├── print_program_info_log.cpp
│ │ │ ├── print_program_info_log.h
│ │ │ ├── print_shader_info_log.cpp
│ │ │ ├── print_shader_info_log.h
│ │ │ ├── report_gl_error.cpp
│ │ │ ├── report_gl_error.h
│ │ │ ├── uniform_type_to_string.cpp
│ │ │ ├── uniform_type_to_string.h
│ │ │ ├── vertex_array.cpp
│ │ │ ├── vertex_array.h
│ │ │ ├── ViewerCore.cpp
│ │ │ ├── ViewerCore.h
│ │ │ ├── ViewerData.cpp
│ │ │ └── ViewerData.h
│ │ ├── opengl2
│ │ │ ├── draw_beach_ball.cpp
│ │ │ ├── draw_beach_ball.h
│ │ │ ├── draw_floor.cpp
│ │ │ ├── draw_floor.h
│ │ │ ├── draw_mesh.cpp
│ │ │ ├── draw_mesh.h
│ │ │ ├── draw_point.cpp
│ │ │ ├── draw_point.h
│ │ │ ├── draw_rectangular_marquee.cpp
│ │ │ ├── draw_rectangular_marquee.h
│ │ │ ├── draw_skeleton_3d.cpp
│ │ │ ├── draw_skeleton_3d.h
│ │ │ ├── draw_skeleton_vector_graphics.cpp
│ │ │ ├── draw_skeleton_vector_graphics.h
│ │ │ ├── flare_textures.h
│ │ │ ├── glext.h
│ │ │ ├── gl.h
│ │ │ ├── glu.h
│ │ │ ├── lens_flare.cpp
│ │ │ ├── lens_flare.h
│ │ │ ├── model_proj_viewport.cpp
│ │ │ ├── model_proj_viewport.h
│ │ │ ├── MouseController.h
│ │ │ ├── print_gl_get.cpp
│ │ │ ├── print_gl_get.h
│ │ │ ├── project.cpp
│ │ │ ├── project.h
│ │ │ ├── right_axis.cpp
│ │ │ ├── right_axis.h
│ │ │ ├── RotateWidget.h
│ │ │ ├── shine_textures.h
│ │ │ ├── sort_triangles.cpp
│ │ │ ├── sort_triangles.h
│ │ │ ├── TranslateWidget.h
│ │ │ ├── unproject.cpp
│ │ │ ├── unproject.h
│ │ │ ├── unproject_to_zero_plane.cpp
│ │ │ ├── unproject_to_zero_plane.h
│ │ │ ├── up_axis.cpp
│ │ │ ├── up_axis.h
│ │ │ ├── view_axis.cpp
│ │ │ └── view_axis.h
│ │ ├── orientable_patches.cpp
│ │ ├── orientable_patches.h
│ │ ├── oriented_facets.cpp
│ │ ├── oriented_facets.h
│ │ ├── orient_outward.cpp
│ │ ├── orient_outward.h
│ │ ├── orth.cpp
│ │ ├── orth.h
│ │ ├── ortho.cpp
│ │ ├── ortho.h
│ │ ├── outer_element.cpp
│ │ ├── outer_element.h
│ │ ├── parallel_for.h
│ │ ├── parallel_transport_angles.cpp
│ │ ├── parallel_transport_angles.h
│ │ ├── partition.cpp
│ │ ├── partition.h
│ │ ├── parula.cpp
│ │ ├── parula.h
│ │ ├── pathinfo.cpp
│ │ ├── pathinfo.h
│ │ ├── path_to_executable.cpp
│ │ ├── path_to_executable.h
│ │ ├── per_corner_normals.cpp
│ │ ├── per_corner_normals.h
│ │ ├── per_edge_normals.cpp
│ │ ├── per_edge_normals.h
│ │ ├── per_face_normals.cpp
│ │ ├── per_face_normals.h
│ │ ├── per_vertex_attribute_smoothing.cpp
│ │ ├── per_vertex_attribute_smoothing.h
│ │ ├── per_vertex_normals.cpp
│ │ ├── per_vertex_normals.h
│ │ ├── per_vertex_point_to_plane_quadrics.cpp
│ │ ├── per_vertex_point_to_plane_quadrics.h
│ │ ├── piecewise_constant_winding_number.cpp
│ │ ├── piecewise_constant_winding_number.h
│ │ ├── PI.h
│ │ ├── pinv.cpp
│ │ ├── pinv.h
│ │ ├── planarize_quad_mesh.cpp
│ │ ├── planarize_quad_mesh.h
│ │ ├── ply.h
│ │ ├── png
│ │ │ ├── readPNG.cpp
│ │ │ ├── readPNG.h
│ │ │ ├── render_to_png_async.cpp
│ │ │ ├── render_to_png_async.h
│ │ │ ├── render_to_png.cpp
│ │ │ ├── render_to_png.h
│ │ │ ├── texture_from_file.cpp
│ │ │ ├── texture_from_file.h
│ │ │ ├── texture_from_png.cpp
│ │ │ ├── texture_from_png.h
│ │ │ ├── writePNG.cpp
│ │ │ └── writePNG.h
│ │ ├── point_in_circle.cpp
│ │ ├── point_in_circle.h
│ │ ├── point_in_poly.cpp
│ │ ├── point_in_poly.h
│ │ ├── point_mesh_squared_distance.cpp
│ │ ├── point_mesh_squared_distance.h
│ │ ├── point_simplex_squared_distance.cpp
│ │ ├── point_simplex_squared_distance.h
│ │ ├── polar_dec.cpp
│ │ ├── polar_dec.h
│ │ ├── polar_svd3x3.cpp
│ │ ├── polar_svd3x3.h
│ │ ├── polar_svd.cpp
│ │ ├── polar_svd.h
│ │ ├── polygon_mesh_to_triangle_mesh.cpp
│ │ ├── polygon_mesh_to_triangle_mesh.h
│ │ ├── polyroots.cpp
│ │ ├── polyroots.h
│ │ ├── polyvector_field_comb_from_matchings_and_cuts.cpp
│ │ ├── polyvector_field_comb_from_matchings_and_cuts.h
│ │ ├── polyvector_field_cut_mesh_with_singularities.cpp
│ │ ├── polyvector_field_cut_mesh_with_singularities.h
│ │ ├── polyvector_field_matchings.cpp
│ │ ├── polyvector_field_matchings.h
│ │ ├── polyvector_field_poisson_reconstruction.cpp
│ │ ├── polyvector_field_poisson_reconstruction.h
│ │ ├── polyvector_field_singularities_from_matchings.cpp
│ │ ├── polyvector_field_singularities_from_matchings.h
│ │ ├── principal_curvature.cpp
│ │ ├── principal_curvature.h
│ │ ├── print_ijv.cpp
│ │ ├── print_ijv.h
│ │ ├── print_vector.cpp
│ │ ├── print_vector.h
│ │ ├── procrustes.cpp
│ │ ├── procrustes.h
│ │ ├── project.cpp
│ │ ├── project.h
│ │ ├── project_isometrically_to_plane.cpp
│ │ ├── project_isometrically_to_plane.h
│ │ ├── project_to_line.cpp
│ │ ├── project_to_line.h
│ │ ├── project_to_line_segment.cpp
│ │ ├── project_to_line_segment.h
│ │ ├── pseudonormal_test.cpp
│ │ ├── pseudonormal_test.h
│ │ ├── pso.cpp
│ │ ├── pso.h
│ │ ├── qslim.cpp
│ │ ├── qslim.h
│ │ ├── qslim_optimal_collapse_edge_callbacks.cpp
│ │ ├── qslim_optimal_collapse_edge_callbacks.h
│ │ ├── quad_planarity.cpp
│ │ ├── quad_planarity.h
│ │ ├── quadric_binary_plus_operator.cpp
│ │ ├── quadric_binary_plus_operator.h
│ │ ├── quat_conjugate.cpp
│ │ ├── quat_conjugate.h
│ │ ├── quat_mult.cpp
│ │ ├── quat_mult.h
│ │ ├── quats_to_column.cpp
│ │ ├── quats_to_column.h
│ │ ├── quat_to_axis_angle.cpp
│ │ ├── quat_to_axis_angle.h
│ │ ├── quat_to_mat.cpp
│ │ ├── quat_to_mat.h
│ │ ├── ramer_douglas_peucker.cpp
│ │ ├── ramer_douglas_peucker.h
│ │ ├── random_dir.cpp
│ │ ├── random_dir.h
│ │ ├── random_points_on_mesh.cpp
│ │ ├── random_points_on_mesh.h
│ │ ├── random_quaternion.cpp
│ │ ├── random_quaternion.h
│ │ ├── random_search.cpp
│ │ ├── random_search.h
│ │ ├── randperm.cpp
│ │ ├── randperm.h
│ │ ├── ray_box_intersect.cpp
│ │ ├── ray_box_intersect.h
│ │ ├── ray_mesh_intersect.cpp
│ │ ├── ray_mesh_intersect.h
│ │ ├── ray_sphere_intersect.cpp
│ │ ├── ray_sphere_intersect.h
│ │ ├── raytri.c
│ │ ├── readBF.cpp
│ │ ├── readBF.h
│ │ ├── readCSV.cpp
│ │ ├── readCSV.h
│ │ ├── readDMAT.cpp
│ │ ├── readDMAT.h
│ │ ├── readMESH.cpp
│ │ ├── readMESH.h
│ │ ├── readNODE.cpp
│ │ ├── readNODE.h
│ │ ├── readOBJ.cpp
│ │ ├── readOBJ.h
│ │ ├── readOFF.cpp
│ │ ├── readOFF.h
│ │ ├── readPLY.cpp
│ │ ├── readPLY.h
│ │ ├── readSTL.cpp
│ │ ├── readSTL.h
│ │ ├── readTGF.cpp
│ │ ├── readTGF.h
│ │ ├── read_triangle_mesh.cpp
│ │ ├── read_triangle_mesh.h
│ │ ├── readWRL.cpp
│ │ ├── readWRL.h
│ │ ├── REDRUM.h
│ │ ├── redux.h
│ │ ├── remove_duplicates.cpp
│ │ ├── remove_duplicates.h
│ │ ├── remove_duplicate_vertices.cpp
│ │ ├── remove_duplicate_vertices.h
│ │ ├── remove_unreferenced.cpp
│ │ ├── remove_unreferenced.h
│ │ ├── reorder.cpp
│ │ ├── reorder.h
│ │ ├── repdiag.cpp
│ │ ├── repdiag.h
│ │ ├── repmat.cpp
│ │ ├── repmat.h
│ │ ├── resolve_duplicated_faces.cpp
│ │ ├── resolve_duplicated_faces.h
│ │ ├── rgb_to_hsv.cpp
│ │ ├── rgb_to_hsv.h
│ │ ├── rotate_by_quat.cpp
│ │ ├── rotate_by_quat.h
│ │ ├── rotate_vectors.cpp
│ │ ├── rotate_vectors.h
│ │ ├── rotation_matrix_from_directions.cpp
│ │ ├── rotation_matrix_from_directions.h
│ │ ├── round.cpp
│ │ ├── round.h
│ │ ├── rows_to_matrix.cpp
│ │ ├── rows_to_matrix.h
│ │ ├── sample_edges.cpp
│ │ ├── sample_edges.h
│ │ ├── seam_edges.cpp
│ │ ├── seam_edges.h
│ │ ├── segment_segment_intersect.cpp
│ │ ├── segment_segment_intersect.h
│ │ ├── serialize.h
│ │ ├── setdiff.cpp
│ │ ├── setdiff.h
│ │ ├── setunion.cpp
│ │ ├── setunion.h
│ │ ├── setxor.cpp
│ │ ├── setxor.h
│ │ ├── shape_diameter_function.cpp
│ │ ├── shape_diameter_function.h
│ │ ├── shortest_edge_and_midpoint.cpp
│ │ ├── shortest_edge_and_midpoint.h
│ │ ├── signed_angle.cpp
│ │ ├── signed_angle.h
│ │ ├── signed_distance.cpp
│ │ ├── signed_distance.h
│ │ ├── simplify_polyhedron.cpp
│ │ ├── simplify_polyhedron.h
│ │ ├── Singular_Value_Decomposition_Givens_QR_Factorization_Kernel.hpp
│ │ ├── Singular_Value_Decomposition_Jacobi_Conjugation_Kernel.hpp
│ │ ├── Singular_Value_Decomposition_Kernel_Declarations.hpp
│ │ ├── Singular_Value_Decomposition_Main_Kernel_Body.hpp
│ │ ├── Singular_Value_Decomposition_Preamble.hpp
│ │ ├── slice_cached.cpp
│ │ ├── slice_cached.h
│ │ ├── slice.cpp
│ │ ├── slice.h
│ │ ├── slice_into.cpp
│ │ ├── slice_into.h
│ │ ├── slice_mask.cpp
│ │ ├── slice_mask.h
│ │ ├── slice_tets.cpp
│ │ ├── slice_tets.h
│ │ ├── slim.cpp
│ │ ├── slim.h
│ │ ├── snap_points.cpp
│ │ ├── snap_points.h
│ │ ├── snap_to_canonical_view_quat.cpp
│ │ ├── snap_to_canonical_view_quat.h
│ │ ├── snap_to_fixed_up.cpp
│ │ ├── snap_to_fixed_up.h
│ │ ├── solid_angle.cpp
│ │ ├── solid_angle.h
│ │ ├── SolverStatus.h
│ │ ├── SortableRow.h
│ │ ├── sort_angles.cpp
│ │ ├── sort_angles.h
│ │ ├── sort.cpp
│ │ ├── sort.h
│ │ ├── sortrows.cpp
│ │ ├── sortrows.h
│ │ ├── sort_triangles.cpp
│ │ ├── sort_triangles.h
│ │ ├── sort_vectors_ccw.cpp
│ │ ├── sort_vectors_ccw.h
│ │ ├── sparse_cached.cpp
│ │ ├── sparse_cached.h
│ │ ├── sparse.cpp
│ │ ├── sparse.h
│ │ ├── speye.cpp
│ │ ├── speye.h
│ │ ├── squared_edge_lengths.cpp
│ │ ├── squared_edge_lengths.h
│ │ ├── stdin_to_temp.cpp
│ │ ├── stdin_to_temp.h
│ │ ├── straighten_seams.cpp
│ │ ├── straighten_seams.h
│ │ ├── streamlines.cpp
│ │ ├── streamlines.h
│ │ ├── STR.h
│ │ ├── sum.cpp
│ │ ├── sum.h
│ │ ├── svd3x3_avx.cpp
│ │ ├── svd3x3_avx.h
│ │ ├── svd3x3.cpp
│ │ ├── svd3x3.h
│ │ ├── svd3x3_sse.cpp
│ │ ├── svd3x3_sse.h
│ │ ├── swept_volume_bounding_box.cpp
│ │ ├── swept_volume_bounding_box.h
│ │ ├── swept_volume_signed_distance.cpp
│ │ ├── swept_volume_signed_distance.h
│ │ ├── Timer.h
│ │ ├── trackball.cpp
│ │ ├── trackball.h
│ │ ├── transpose_blocks.cpp
│ │ ├── transpose_blocks.h
│ │ ├── triangle
│ │ │ ├── cdt.cpp
│ │ │ ├── cdt.h
│ │ │ ├── triangulate.cpp
│ │ │ └── triangulate.h
│ │ ├── triangle_fan.cpp
│ │ ├── triangle_fan.h
│ │ ├── triangles_from_strip.cpp
│ │ ├── triangles_from_strip.h
│ │ ├── triangle_triangle_adjacency.cpp
│ │ ├── triangle_triangle_adjacency.h
│ │ ├── two_axis_valuator_fixed_up.cpp
│ │ ├── two_axis_valuator_fixed_up.h
│ │ ├── uniformly_sample_two_manifold.cpp
│ │ ├── uniformly_sample_two_manifold.h
│ │ ├── unique.cpp
│ │ ├── unique_edge_map.cpp
│ │ ├── unique_edge_map.h
│ │ ├── unique.h
│ │ ├── unique_rows.cpp
│ │ ├── unique_rows.h
│ │ ├── unique_simplices.cpp
│ │ ├── unique_simplices.h
│ │ ├── unproject.cpp
│ │ ├── unproject.h
│ │ ├── unproject_in_mesh.cpp
│ │ ├── unproject_in_mesh.h
│ │ ├── unproject_onto_mesh.cpp
│ │ ├── unproject_onto_mesh.h
│ │ ├── unproject_ray.cpp
│ │ ├── unproject_ray.h
│ │ ├── unzip_corners.cpp
│ │ ├── unzip_corners.h
│ │ ├── upsample.cpp
│ │ ├── upsample.h
│ │ ├── vector_area_matrix.cpp
│ │ ├── vector_area_matrix.h
│ │ ├── verbose.h
│ │ ├── vertex_triangle_adjacency.cpp
│ │ ├── vertex_triangle_adjacency.h
│ │ ├── Viewport.h
│ │ ├── volume.cpp
│ │ ├── volume.h
│ │ ├── voxel_grid.cpp
│ │ ├── voxel_grid.h
│ │ ├── WindingNumberAABB.h
│ │ ├── winding_number.cpp
│ │ ├── winding_number.h
│ │ ├── WindingNumberMethod.h
│ │ ├── WindingNumberTree.h
│ │ ├── writeBF.cpp
│ │ ├── writeBF.h
│ │ ├── writeDMAT.cpp
│ │ ├── writeDMAT.h
│ │ ├── writeMESH.cpp
│ │ ├── writeMESH.h
│ │ ├── writeOBJ.cpp
│ │ ├── writeOBJ.h
│ │ ├── writeOFF.cpp
│ │ ├── writeOFF.h
│ │ ├── writePLY.cpp
│ │ ├── writePLY.h
│ │ ├── writeSTL.cpp
│ │ ├── writeSTL.h
│ │ ├── writeTGF.cpp
│ │ ├── writeTGF.h
│ │ ├── write_triangle_mesh.cpp
│ │ ├── write_triangle_mesh.h
│ │ ├── writeWRL.cpp
│ │ ├── writeWRL.h
│ │ ├── xml
│ │ │ ├── ReAntTweakBarXMLSerialization.h
│ │ │ ├── serialization_test.skip
│ │ │ ├── serialize_xml.cpp
│ │ │ ├── serialize_xml.h
│ │ │ ├── writeDAE.cpp
│ │ │ ├── writeDAE.h
│ │ │ ├── write_triangle_mesh.cpp
│ │ │ ├── write_triangle_mesh.h
│ │ │ └── XMLSerializable.h
│ │ └── ZERO.h
│ ├── LICENSE
│ ├── main.cpp
│ └── README.md
├── MeshFixer
│ ├── bunnyhole.off
│ ├── Debug
│ │ ├── cl.command.1.tlog
│ │ ├── CL.read.1.tlog
│ │ ├── CL.write.1.tlog
│ │ ├── main.obj
│ │ ├── MeshFixer.lastbuildstate
│ │ ├── MeshFixer.log
│ │ ├── MeshFixer.tlog
│ │ │ ├── CL.command.1.tlog
│ │ │ ├── CL.read.1.tlog
│ │ │ ├── CL.write.1.tlog
│ │ │ ├── link.command.1.tlog
│ │ │ ├── link.read.1.tlog
│ │ │ ├── link.write.1.tlog
│ │ │ └── MeshFixer.lastbuildstate
│ │ ├── MeshFixer.unsuccessfulbuild
│ │ ├── vc110.idb
│ │ ├── vc110.pdb
│ │ ├── vc140.idb
│ │ └── vc140.pdb
│ ├── example.off
│ ├── MeshFixer.vcxproj
│ ├── MeshFixer.vcxproj.filters
│ └── Release
│ ├── cl.command.1.tlog
│ ├── CL.read.1.tlog
│ ├── CL.write.1.tlog
│ ├── main.obj
│ ├── MeshFixer.lastbuildstate
│ ├── MeshFixer.log
│ ├── MeshFixer.tlog
│ │ ├── CL.command.1.tlog
│ │ ├── CL.read.1.tlog
│ │ ├── CL.write.1.tlog
│ │ ├── link.command.1.tlog
│ │ ├── link.read.1.tlog
│ │ ├── link.write.1.tlog
│ │ └── MeshFixer.lastbuildstate
│ ├── MeshFixer.unsuccessfulbuild
│ ├── vc110.pdb
│ └── vc140.pdb
├── MeshFixer.sdf
├── MeshFixer.sln
├── MeshFixer.v11.suo
├── MeshFixer.VC.db
└── Release
├── MeshFixer.exe
├── MeshFixer.iobj
├── MeshFixer.ipdb
└── MeshFixer.pdb
94 directories, 1626 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论