libigl 2.5.4.dev0__cp313-abi3-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bin/msvcp140.dll +0 -0
- bin/vcruntime140.dll +0 -0
- bin/vcruntime140_1.dll +0 -0
- igl/__init__.py +1 -0
- igl/copyleft/__init__.py +1 -0
- igl/copyleft/cgal/__init__.py +1 -0
- igl/copyleft/cgal/pyigl_copyleft_cgal.cp313-win_amd64.pyd +0 -0
- igl/copyleft/cgal/pyigl_copyleft_cgal.pyi +154 -0
- igl/copyleft/pyigl_copyleft_core.cp313-win_amd64.pyd +0 -0
- igl/copyleft/pyigl_copyleft_core.pyi +16 -0
- igl/copyleft/tetgen/__init__.py +1 -0
- igl/copyleft/tetgen/pyigl_copyleft_tetgen.cp313-win_amd64.pyd +0 -0
- igl/copyleft/tetgen/pyigl_copyleft_tetgen.pyi +29 -0
- igl/embree/__init__.py +1 -0
- igl/embree/pyigl_embree.cp313-win_amd64.pyd +0 -0
- igl/embree/pyigl_embree.pyi +82 -0
- igl/pyigl_core.cp313-win_amd64.pyd +0 -0
- igl/pyigl_core.pyi +2186 -0
- igl/triangle/__init__.py +1 -0
- igl/triangle/pyigl_restricted_triangle.cp313-win_amd64.pyd +0 -0
- igl/triangle/pyigl_restricted_triangle.pyi +56 -0
- include/Eigen/Cholesky +45 -0
- include/Eigen/CholmodSupport +48 -0
- include/Eigen/Core +384 -0
- include/Eigen/Dense +7 -0
- include/Eigen/Eigen +2 -0
- include/Eigen/Eigenvalues +60 -0
- include/Eigen/Geometry +59 -0
- include/Eigen/Householder +29 -0
- include/Eigen/IterativeLinearSolvers +48 -0
- include/Eigen/Jacobi +32 -0
- include/Eigen/KLUSupport +41 -0
- include/Eigen/LU +47 -0
- include/Eigen/MetisSupport +35 -0
- include/Eigen/OrderingMethods +70 -0
- include/Eigen/PaStiXSupport +49 -0
- include/Eigen/PardisoSupport +35 -0
- include/Eigen/QR +50 -0
- include/Eigen/QtAlignedMalloc +39 -0
- include/Eigen/SPQRSupport +34 -0
- include/Eigen/SVD +50 -0
- include/Eigen/Sparse +34 -0
- include/Eigen/SparseCholesky +37 -0
- include/Eigen/SparseCore +69 -0
- include/Eigen/SparseLU +50 -0
- include/Eigen/SparseQR +36 -0
- include/Eigen/StdDeque +27 -0
- include/Eigen/StdList +26 -0
- include/Eigen/StdVector +27 -0
- include/Eigen/SuperLUSupport +64 -0
- include/Eigen/UmfPackSupport +40 -0
- include/Eigen/src/Cholesky/LDLT.h +688 -0
- include/Eigen/src/Cholesky/LLT.h +558 -0
- include/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
- include/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
- include/Eigen/src/Core/ArithmeticSequence.h +413 -0
- include/Eigen/src/Core/Array.h +417 -0
- include/Eigen/src/Core/ArrayBase.h +226 -0
- include/Eigen/src/Core/ArrayWrapper.h +209 -0
- include/Eigen/src/Core/Assign.h +90 -0
- include/Eigen/src/Core/AssignEvaluator.h +1010 -0
- include/Eigen/src/Core/Assign_MKL.h +178 -0
- include/Eigen/src/Core/BandMatrix.h +353 -0
- include/Eigen/src/Core/Block.h +448 -0
- include/Eigen/src/Core/BooleanRedux.h +162 -0
- include/Eigen/src/Core/CommaInitializer.h +164 -0
- include/Eigen/src/Core/ConditionEstimator.h +175 -0
- include/Eigen/src/Core/CoreEvaluators.h +1741 -0
- include/Eigen/src/Core/CoreIterators.h +132 -0
- include/Eigen/src/Core/CwiseBinaryOp.h +183 -0
- include/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
- include/Eigen/src/Core/CwiseTernaryOp.h +197 -0
- include/Eigen/src/Core/CwiseUnaryOp.h +103 -0
- include/Eigen/src/Core/CwiseUnaryView.h +132 -0
- include/Eigen/src/Core/DenseBase.h +701 -0
- include/Eigen/src/Core/DenseCoeffsBase.h +685 -0
- include/Eigen/src/Core/DenseStorage.h +652 -0
- include/Eigen/src/Core/Diagonal.h +258 -0
- include/Eigen/src/Core/DiagonalMatrix.h +391 -0
- include/Eigen/src/Core/DiagonalProduct.h +28 -0
- include/Eigen/src/Core/Dot.h +318 -0
- include/Eigen/src/Core/EigenBase.h +160 -0
- include/Eigen/src/Core/ForceAlignedAccess.h +150 -0
- include/Eigen/src/Core/Fuzzy.h +155 -0
- include/Eigen/src/Core/GeneralProduct.h +465 -0
- include/Eigen/src/Core/GenericPacketMath.h +1040 -0
- include/Eigen/src/Core/GlobalFunctions.h +194 -0
- include/Eigen/src/Core/IO.h +258 -0
- include/Eigen/src/Core/IndexedView.h +237 -0
- include/Eigen/src/Core/Inverse.h +117 -0
- include/Eigen/src/Core/Map.h +171 -0
- include/Eigen/src/Core/MapBase.h +310 -0
- include/Eigen/src/Core/MathFunctions.h +2057 -0
- include/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- include/Eigen/src/Core/Matrix.h +565 -0
- include/Eigen/src/Core/MatrixBase.h +547 -0
- include/Eigen/src/Core/NestByValue.h +85 -0
- include/Eigen/src/Core/NoAlias.h +109 -0
- include/Eigen/src/Core/NumTraits.h +335 -0
- include/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
- include/Eigen/src/Core/PermutationMatrix.h +605 -0
- include/Eigen/src/Core/PlainObjectBase.h +1128 -0
- include/Eigen/src/Core/Product.h +191 -0
- include/Eigen/src/Core/ProductEvaluators.h +1179 -0
- include/Eigen/src/Core/Random.h +218 -0
- include/Eigen/src/Core/Redux.h +515 -0
- include/Eigen/src/Core/Ref.h +381 -0
- include/Eigen/src/Core/Replicate.h +142 -0
- include/Eigen/src/Core/Reshaped.h +454 -0
- include/Eigen/src/Core/ReturnByValue.h +119 -0
- include/Eigen/src/Core/Reverse.h +217 -0
- include/Eigen/src/Core/Select.h +164 -0
- include/Eigen/src/Core/SelfAdjointView.h +365 -0
- include/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
- include/Eigen/src/Core/Solve.h +188 -0
- include/Eigen/src/Core/SolveTriangular.h +235 -0
- include/Eigen/src/Core/SolverBase.h +168 -0
- include/Eigen/src/Core/StableNorm.h +251 -0
- include/Eigen/src/Core/StlIterators.h +463 -0
- include/Eigen/src/Core/Stride.h +116 -0
- include/Eigen/src/Core/Swap.h +68 -0
- include/Eigen/src/Core/Transpose.h +464 -0
- include/Eigen/src/Core/Transpositions.h +386 -0
- include/Eigen/src/Core/TriangularMatrix.h +1001 -0
- include/Eigen/src/Core/VectorBlock.h +96 -0
- include/Eigen/src/Core/VectorwiseOp.h +784 -0
- include/Eigen/src/Core/Visitor.h +381 -0
- include/Eigen/src/Core/arch/AVX/Complex.h +372 -0
- include/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- include/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
- include/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- include/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- include/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
- include/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
- include/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- include/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
- include/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
- include/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- include/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- include/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- include/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
- include/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
- include/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- include/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- include/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- include/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- include/Eigen/src/Core/arch/Default/Half.h +942 -0
- include/Eigen/src/Core/arch/Default/Settings.h +49 -0
- include/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- include/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
- include/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
- include/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- include/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- include/Eigen/src/Core/arch/MSA/Complex.h +648 -0
- include/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- include/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- include/Eigen/src/Core/arch/NEON/Complex.h +584 -0
- include/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- include/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
- include/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
- include/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- include/Eigen/src/Core/arch/SSE/Complex.h +351 -0
- include/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
- include/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
- include/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
- include/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- include/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- include/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- include/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- include/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- include/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- include/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- include/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- include/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
- include/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
- include/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
- include/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
- include/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
- include/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
- include/Eigen/src/Core/functors/StlFunctors.h +166 -0
- include/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
- include/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
- include/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
- include/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
- include/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
- include/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
- include/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
- include/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
- include/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
- include/Eigen/src/Core/products/Parallelizer.h +180 -0
- include/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
- include/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
- include/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
- include/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
- include/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- include/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
- include/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
- include/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
- include/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
- include/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
- include/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
- include/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
- include/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
- include/Eigen/src/Core/util/BlasUtil.h +583 -0
- include/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
- include/Eigen/src/Core/util/Constants.h +563 -0
- include/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
- include/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
- include/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- include/Eigen/src/Core/util/IntegralConstant.h +272 -0
- include/Eigen/src/Core/util/MKL_support.h +137 -0
- include/Eigen/src/Core/util/Macros.h +1464 -0
- include/Eigen/src/Core/util/Memory.h +1163 -0
- include/Eigen/src/Core/util/Meta.h +812 -0
- include/Eigen/src/Core/util/NonMPL2.h +3 -0
- include/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
- include/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- include/Eigen/src/Core/util/StaticAssert.h +221 -0
- include/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- include/Eigen/src/Core/util/XprHelper.h +856 -0
- include/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
- include/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
- include/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
- include/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
- include/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
- include/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
- include/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
- include/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
- include/Eigen/src/Eigenvalues/RealQZ.h +657 -0
- include/Eigen/src/Eigenvalues/RealSchur.h +558 -0
- include/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
- include/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
- include/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
- include/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
- include/Eigen/src/Geometry/AlignedBox.h +486 -0
- include/Eigen/src/Geometry/AngleAxis.h +247 -0
- include/Eigen/src/Geometry/EulerAngles.h +114 -0
- include/Eigen/src/Geometry/Homogeneous.h +501 -0
- include/Eigen/src/Geometry/Hyperplane.h +282 -0
- include/Eigen/src/Geometry/OrthoMethods.h +235 -0
- include/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- include/Eigen/src/Geometry/Quaternion.h +870 -0
- include/Eigen/src/Geometry/Rotation2D.h +199 -0
- include/Eigen/src/Geometry/RotationBase.h +206 -0
- include/Eigen/src/Geometry/Scaling.h +188 -0
- include/Eigen/src/Geometry/Transform.h +1563 -0
- include/Eigen/src/Geometry/Translation.h +202 -0
- include/Eigen/src/Geometry/Umeyama.h +166 -0
- include/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- include/Eigen/src/Householder/BlockHouseholder.h +110 -0
- include/Eigen/src/Householder/Householder.h +176 -0
- include/Eigen/src/Householder/HouseholderSequence.h +545 -0
- include/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
- include/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
- include/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
- include/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
- include/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
- include/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
- include/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
- include/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
- include/Eigen/src/Jacobi/Jacobi.h +483 -0
- include/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- include/Eigen/src/LU/Determinant.h +117 -0
- include/Eigen/src/LU/FullPivLU.h +877 -0
- include/Eigen/src/LU/InverseImpl.h +432 -0
- include/Eigen/src/LU/PartialPivLU.h +624 -0
- include/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
- include/Eigen/src/LU/arch/InverseSize4.h +351 -0
- include/Eigen/src/MetisSupport/MetisSupport.h +137 -0
- include/Eigen/src/OrderingMethods/Amd.h +435 -0
- include/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
- include/Eigen/src/OrderingMethods/Ordering.h +153 -0
- include/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
- include/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
- include/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- include/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
- include/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
- include/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
- include/Eigen/src/QR/HouseholderQR.h +434 -0
- include/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
- include/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
- include/Eigen/src/SVD/BDCSVD.h +1366 -0
- include/Eigen/src/SVD/JacobiSVD.h +812 -0
- include/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
- include/Eigen/src/SVD/SVDBase.h +376 -0
- include/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
- include/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
- include/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
- include/Eigen/src/SparseCore/AmbiVector.h +378 -0
- include/Eigen/src/SparseCore/CompressedStorage.h +274 -0
- include/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
- include/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
- include/Eigen/src/SparseCore/SparseAssign.h +270 -0
- include/Eigen/src/SparseCore/SparseBlock.h +571 -0
- include/Eigen/src/SparseCore/SparseColEtree.h +206 -0
- include/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
- include/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
- include/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
- include/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
- include/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- include/Eigen/src/SparseCore/SparseDot.h +98 -0
- include/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
- include/Eigen/src/SparseCore/SparseMap.h +305 -0
- include/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- include/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
- include/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- include/Eigen/src/SparseCore/SparseProduct.h +181 -0
- include/Eigen/src/SparseCore/SparseRedux.h +49 -0
- include/Eigen/src/SparseCore/SparseRef.h +397 -0
- include/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
- include/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
- include/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
- include/Eigen/src/SparseCore/SparseTranspose.h +92 -0
- include/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
- include/Eigen/src/SparseCore/SparseUtil.h +186 -0
- include/Eigen/src/SparseCore/SparseVector.h +478 -0
- include/Eigen/src/SparseCore/SparseView.h +254 -0
- include/Eigen/src/SparseCore/TriangularSolver.h +315 -0
- include/Eigen/src/SparseLU/SparseLU.h +923 -0
- include/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
- include/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
- include/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
- include/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
- include/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
- include/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
- include/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
- include/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
- include/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
- include/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
- include/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
- include/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
- include/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
- include/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
- include/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
- include/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
- include/Eigen/src/SparseQR/SparseQR.h +758 -0
- include/Eigen/src/StlSupport/StdDeque.h +116 -0
- include/Eigen/src/StlSupport/StdList.h +106 -0
- include/Eigen/src/StlSupport/StdVector.h +131 -0
- include/Eigen/src/StlSupport/details.h +84 -0
- include/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
- include/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
- include/Eigen/src/misc/Image.h +82 -0
- include/Eigen/src/misc/Kernel.h +79 -0
- include/Eigen/src/misc/RealSvd2x2.h +55 -0
- include/Eigen/src/misc/blas.h +440 -0
- include/Eigen/src/misc/lapack.h +152 -0
- include/Eigen/src/misc/lapacke.h +16292 -0
- include/Eigen/src/misc/lapacke_mangling.h +17 -0
- include/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
- include/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
- include/Eigen/src/plugins/BlockMethods.h +1442 -0
- include/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
- include/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
- include/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- include/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
- include/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
- include/Eigen/src/plugins/ReshapedMethods.h +149 -0
- include/embree3/rtcore.h +14 -0
- include/embree3/rtcore.isph +16 -0
- include/embree3/rtcore_buffer.h +51 -0
- include/embree3/rtcore_buffer.isph +50 -0
- include/embree3/rtcore_builder.h +125 -0
- include/embree3/rtcore_common.h +326 -0
- include/embree3/rtcore_common.isph +306 -0
- include/embree3/rtcore_config.h +56 -0
- include/embree3/rtcore_device.h +87 -0
- include/embree3/rtcore_device.isph +85 -0
- include/embree3/rtcore_geometry.h +383 -0
- include/embree3/rtcore_geometry.isph +406 -0
- include/embree3/rtcore_quaternion.h +101 -0
- include/embree3/rtcore_quaternion.isph +163 -0
- include/embree3/rtcore_ray.h +378 -0
- include/embree3/rtcore_ray.isph +203 -0
- include/embree3/rtcore_scene.h +163 -0
- include/embree3/rtcore_scene.isph +203 -0
- lib/cmake/eigen/EigenTargets.cmake +107 -0
- lib/cmake/embree-3.13.3/embree-config-version.cmake +16 -0
- lib/cmake/embree-3.13.3/embree-config.cmake +76 -0
- lib/cmake/embree-3.13.3/embree-targets-release.cmake +19 -0
- lib/cmake/embree-3.13.3/embree-targets.cmake +124 -0
- lib/cmake/embree-3.13.3/lexers-targets-release.cmake +19 -0
- lib/cmake/embree-3.13.3/lexers-targets.cmake +122 -0
- lib/cmake/embree-3.13.3/math-targets-release.cmake +19 -0
- lib/cmake/embree-3.13.3/math-targets.cmake +102 -0
- lib/cmake/embree-3.13.3/simd-targets-release.cmake +19 -0
- lib/cmake/embree-3.13.3/simd-targets.cmake +102 -0
- lib/cmake/embree-3.13.3/sys-targets-release.cmake +19 -0
- lib/cmake/embree-3.13.3/sys-targets.cmake +102 -0
- lib/cmake/embree-3.13.3/tasking-targets-release.cmake +19 -0
- lib/cmake/embree-3.13.3/tasking-targets.cmake +102 -0
- lib/embree3.lib +0 -0
- lib/lexers.lib +0 -0
- lib/math.lib +0 -0
- lib/simd.lib +0 -0
- lib/sys.lib +0 -0
- lib/tasking.lib +0 -0
- libigl-2.5.4.dev0.dist-info/METADATA +56 -0
- libigl-2.5.4.dev0.dist-info/RECORD +408 -0
- libigl-2.5.4.dev0.dist-info/WHEEL +5 -0
- libigl-2.5.4.dev0.dist-info/licenses/LICENSE.GPL +674 -0
- libigl-2.5.4.dev0.dist-info/licenses/LICENSE.MPL2 +373 -0
- share/doc/libigl/CHANGELOG.md +817 -0
- share/doc/libigl/LICENSE.txt +202 -0
- share/doc/libigl/README.md +8402 -0
- share/doc/libigl/readme.pdf +0 -0
- share/doc/libigl/third-party-programs-TBB.txt +350 -0
- share/doc/libigl/third-party-programs.txt +349 -0
bin/msvcp140.dll
ADDED
|
Binary file
|
bin/vcruntime140.dll
ADDED
|
Binary file
|
bin/vcruntime140_1.dll
ADDED
|
Binary file
|
igl/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .pyigl_core import *
|
igl/copyleft/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .pyigl_copyleft_core import *
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .pyigl_copyleft_cgal import *
|
|
Binary file
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
from typing import Annotated, overload
|
|
2
|
+
|
|
3
|
+
from numpy.typing import ArrayLike
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def convex_hull(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)]) -> Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')]:
|
|
7
|
+
"""
|
|
8
|
+
Compute the convex hull of a set of points, returning only the triangular faces of the hull.
|
|
9
|
+
|
|
10
|
+
@param[in] V #V by 3 matrix of input points
|
|
11
|
+
@return F: #F by 3 matrix of triangle indices into V
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
def fast_winding_number(P: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], N: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], Q: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], expansion_order: int = 2, beta: float = 2.0) -> Annotated[ArrayLike, dict(dtype='float64', shape=(None), order='C')]:
|
|
15
|
+
"""
|
|
16
|
+
Evaluate the fast winding number for point data with adjustable accuracy.
|
|
17
|
+
|
|
18
|
+
@param[in] P #P by 3 list of point locations
|
|
19
|
+
@param[in] N #P by 3 list of point normals
|
|
20
|
+
@param[in] Q #Q by 3 list of query points for the winding number
|
|
21
|
+
@param[in] expansion_order Order of the Taylor expansion (0, 1, or 2)
|
|
22
|
+
@param[in] beta Barnes-Hut style accuracy parameter (recommended: 2)
|
|
23
|
+
@return Vector of winding number values for each query point
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
def intersect_other(VA: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], FA: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], VB: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], FB: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], detect_only: bool = False, first_only: bool = False, stitch_all: bool = False, slow_and_more_precise_rounding: bool = False, cutoff: int = 1000) -> tuple[Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')]]:
|
|
27
|
+
"""
|
|
28
|
+
Detect intersecting faces between two triangle meshes, providing detailed output.
|
|
29
|
+
|
|
30
|
+
@param[in] VA #V by 3 list of vertices for first mesh
|
|
31
|
+
@param[in] FA #F by 3 list of faces for first mesh
|
|
32
|
+
@param[in] VB #V by 3 list of vertices for second mesh
|
|
33
|
+
@param[in] FB #F by 3 list of faces for second mesh
|
|
34
|
+
@param[in] detect_only only detect intersections, do not resolve
|
|
35
|
+
@param[in] first_only only return first intersection
|
|
36
|
+
@param[in] stitch_all stitch all intersections
|
|
37
|
+
@param[in] slow_and_more_precise_rounding use slow and more precise rounding
|
|
38
|
+
@param[in] cutoff maximum number of intersections to resolve
|
|
39
|
+
@return Tuple containing:
|
|
40
|
+
- success: bool indicating if the operation succeeded
|
|
41
|
+
- IF: # intersecting face pairs
|
|
42
|
+
- VVAB: list of intersection vertex positions
|
|
43
|
+
- FFAB: list of triangle indices into VVAB
|
|
44
|
+
- JAB: list of indices into [FA;FB] denoting the birth triangle
|
|
45
|
+
- IMAB: indices stitching duplicates from intersections
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
@overload
|
|
49
|
+
def intersect_with_half_space(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], F: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], p: Annotated[ArrayLike, dict(dtype='float64', shape=(None), writable=False)], n: Annotated[ArrayLike, dict(dtype='float64', shape=(None), writable=False)]) -> tuple[Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')]]:
|
|
50
|
+
"""
|
|
51
|
+
Intersect a PWN mesh with a half-space using a point and normal.
|
|
52
|
+
|
|
53
|
+
@param[in] V #V by 3 list of mesh vertex positions
|
|
54
|
+
@param[in] F #F by 3 list of triangle indices
|
|
55
|
+
@param[in] p 3D point on plane
|
|
56
|
+
@param[in] n 3D normal vector
|
|
57
|
+
@return Tuple containing:
|
|
58
|
+
- success: bool, true if successful
|
|
59
|
+
- VC: vertices of resulting mesh
|
|
60
|
+
- FC: face indices of resulting mesh
|
|
61
|
+
- J: birth facet indices
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
@overload
|
|
65
|
+
def intersect_with_half_space(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], F: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], equ: Annotated[ArrayLike, dict(dtype='float64', shape=(None), writable=False)]) -> tuple[Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')]]:
|
|
66
|
+
"""
|
|
67
|
+
Intersect a PWN mesh with a half-space using the plane equation.
|
|
68
|
+
|
|
69
|
+
@param[in] V #V by 3 list of mesh vertex positions
|
|
70
|
+
@param[in] F #F by 3 list of triangle indices
|
|
71
|
+
@param[in] equ Plane equation coefficients (a, b, c, d)
|
|
72
|
+
@return Tuple containing:
|
|
73
|
+
- success: bool, true if successful
|
|
74
|
+
- VC: vertices of resulting mesh
|
|
75
|
+
- FC: face indices of resulting mesh
|
|
76
|
+
- J: birth facet indices
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
def mesh_boolean(VA: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], FA: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], VB: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)] = ..., FB: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)] = ..., type_str: str) -> tuple[Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')]]:
|
|
80
|
+
"""
|
|
81
|
+
Compute the boolean operation (union, intersection, difference, etc.) between two meshes.
|
|
82
|
+
|
|
83
|
+
@param[in] VA #VA by dim matrix of mesh A vertices
|
|
84
|
+
@param[in] FA #FA by simplex_size matrix of mesh A faces
|
|
85
|
+
@param[in] VB #VB by dim matrix of mesh B vertices
|
|
86
|
+
@param[in] FB #FB by simplex_size matrix of mesh B faces
|
|
87
|
+
@param[in] type_str Type of boolean operation: "union", "intersection", "difference", etc.
|
|
88
|
+
@param[out] VC #VC by dim matrix of result vertices
|
|
89
|
+
@param[out] FC #FC by simplex_size matrix of result faces
|
|
90
|
+
@param[out] J #FC list of indices indicating which input face contributed to each result face
|
|
91
|
+
@return Tuple containing:
|
|
92
|
+
- VC: Result vertices
|
|
93
|
+
- FC: Result faces
|
|
94
|
+
- J: Face origin indices
|
|
95
|
+
"""
|
|
96
|
+
|
|
97
|
+
def point_areas(P: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], I: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], N: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)]) -> tuple[Annotated[ArrayLike, dict(dtype='float64', shape=(None), order='C')], Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='C')]]:
|
|
98
|
+
r"""
|
|
99
|
+
Given a 3D set of points P, each with a list of k-nearest-neighbours,
|
|
100
|
+
estimate the geodesic voronoi area associated with each point.
|
|
101
|
+
|
|
102
|
+
The k nearest neighbours may be known from running igl::knn_octree on
|
|
103
|
+
the output data from igl::octree. We reccomend using a k value
|
|
104
|
+
between 15 and 20 inclusive for accurate area estimation.
|
|
105
|
+
|
|
106
|
+
N is used filter the neighbours, to ensure area estimation only occurs
|
|
107
|
+
using neighbors that are on the same side of the surface (ie for thin
|
|
108
|
+
sheets), as well as to solve the orientation ambiguity of the tangent
|
|
109
|
+
plane normal.
|
|
110
|
+
|
|
111
|
+
\note This function *should* be implemented by pre-filtering I, rather
|
|
112
|
+
than filtering in this function using N. In this case, the function
|
|
113
|
+
would only take P and I as input.
|
|
114
|
+
|
|
115
|
+
@param[in] P #P by 3 list of point locations
|
|
116
|
+
@param[in] I #P by k list of k-nearest-neighbor indices into P
|
|
117
|
+
@param[in] N #P by 3 list of point normals
|
|
118
|
+
@param[out] A #P list of estimated areas
|
|
119
|
+
@param[out] T #P by 3 list of tangent plane normals for each point
|
|
120
|
+
|
|
121
|
+
\see igl::knn
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
def remesh_self_intersections(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], F: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], detect_only: bool = False, first_only: bool = False, stitch_all: bool = False, slow_and_more_precise_rounding: bool = False, cutoff: int = 1000) -> tuple[Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')]]:
|
|
125
|
+
"""
|
|
126
|
+
Resolve self-intersections in a mesh, without returning unique vertex indices (IM).
|
|
127
|
+
|
|
128
|
+
@param[in] V #V by 3 list of vertex positions
|
|
129
|
+
@param[in] F #F by 3 list of face indices
|
|
130
|
+
@param[in] detect_only only detect intersections, do not resolve
|
|
131
|
+
@param[in] first_only only return first intersection
|
|
132
|
+
@param[in] stitch_all stitch all intersections
|
|
133
|
+
@param[in] slow_and_more_precise_rounding use slow and more precise rounding
|
|
134
|
+
@param[in] cutoff maximum number of intersections to resolve
|
|
135
|
+
@return Tuple containing:
|
|
136
|
+
- VV: remeshed vertex positions
|
|
137
|
+
- FF: remeshed face indices
|
|
138
|
+
- IF: intersecting face pairs
|
|
139
|
+
- J: birth triangle indices
|
|
140
|
+
"""
|
|
141
|
+
|
|
142
|
+
def trim_with_solid(VA: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], FA: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], VB: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], FB: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)]) -> tuple[Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='bool', shape=(None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')]]:
|
|
143
|
+
"""
|
|
144
|
+
Trim a mesh with another solid mesh, determining which faces lie inside or outside.
|
|
145
|
+
|
|
146
|
+
@param[in] VA Vertex positions of mesh A
|
|
147
|
+
@param[in] FA Triangle indices of mesh A
|
|
148
|
+
@param[in] VB Vertex positions of mesh B (solid)
|
|
149
|
+
@param[in] FB Triangle indices of mesh B
|
|
150
|
+
@param[out] V Output vertex positions
|
|
151
|
+
@param[out] F Output triangle indices
|
|
152
|
+
@param[out] D Boolean vector indicating if each face is inside B
|
|
153
|
+
@param[out] J Indices into FA showing parent triangle
|
|
154
|
+
"""
|
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from typing import Annotated
|
|
2
|
+
|
|
3
|
+
from numpy.typing import ArrayLike
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def progressive_hulls(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='F')], F: Annotated[ArrayLike, dict(dtype='int32', shape=(None, None), order='F')], max_m: int = 0) -> tuple[Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='F')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='F')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')]]:
|
|
7
|
+
"""
|
|
8
|
+
Performs progressive hull simplification on a mesh, collapsing edges until a target number of faces is reached.
|
|
9
|
+
|
|
10
|
+
@param[in] V #V by dim list of vertex positions
|
|
11
|
+
@param[in] F #F by 3 list of face indices into V
|
|
12
|
+
@param[in] max_m Target number of output faces
|
|
13
|
+
@param[out] U Output vertex positions
|
|
14
|
+
@param[out] G Output face indices into U
|
|
15
|
+
@param[out] J Indices into F indicating the birth face for each face in G
|
|
16
|
+
"""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .pyigl_copyleft_tetgen import *
|
|
Binary file
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from typing import Annotated
|
|
2
|
+
|
|
3
|
+
from numpy.typing import ArrayLike
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def tetrahedralize(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], F: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)] = ..., H: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)] = ..., VM: Annotated[ArrayLike, dict(dtype='int64', shape=(None), writable=False)] = ..., FM: Annotated[ArrayLike, dict(dtype='int64', shape=(None), writable=False)] = ..., R: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)] = ..., flags: str = '') -> tuple[Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), order='C')], int]:
|
|
7
|
+
"""
|
|
8
|
+
Mesh the interior of a surface mesh (V,F) using tetgen
|
|
9
|
+
|
|
10
|
+
@param[in] V #V by 3 vertex position list
|
|
11
|
+
@param[in] F #F list of polygon face indices into V (0-indexed)
|
|
12
|
+
@param[in] H #H by 3 list of seed points inside holes
|
|
13
|
+
@param[in] VM #VM list of vertex markers
|
|
14
|
+
@param[in] FM #FM list of face markers
|
|
15
|
+
@param[in] R #R by 5 list of region attributes
|
|
16
|
+
@param[in] flags string of tetgen options (See tetgen documentation) e.g.
|
|
17
|
+
"pq1.414a0.01" tries to mesh the interior of a given surface with
|
|
18
|
+
quality and area constraints
|
|
19
|
+
"" will mesh the convex hull constrained to pass through V (ignores F)
|
|
20
|
+
@param[out] TV #TV by 3 vertex position list
|
|
21
|
+
@param[out] TT #TT by 4 list of tet face indices
|
|
22
|
+
@param[out] TF #TF by 3 list of triangle face indices ('f', else
|
|
23
|
+
`boundary_facets` is called on TT)
|
|
24
|
+
@param[out] TR #TT list of region ID for each tetrahedron
|
|
25
|
+
@param[out] TN #TT by 4 list of indices neighbors for each tetrahedron ('n')
|
|
26
|
+
@param[out] PT #TV list of incident tetrahedron for a vertex ('m')
|
|
27
|
+
@param[out] FT #TF by 2 list of tetrahedrons sharing a triface ('nn')
|
|
28
|
+
@param[out] num_regions Number of regions in output mesh
|
|
29
|
+
"""
|
igl/embree/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .pyigl_embree import *
|
|
Binary file
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
from typing import Annotated, overload
|
|
2
|
+
|
|
3
|
+
from numpy.typing import ArrayLike
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class EmbreeIntersector:
|
|
7
|
+
def __init__(self) -> None: ...
|
|
8
|
+
|
|
9
|
+
def init(self, V: Annotated[ArrayLike, dict(dtype='float32', shape=(None, 3), order='F')], F: Annotated[ArrayLike, dict(dtype='int32', shape=(None, 3), order='F')], isStatic: bool = False) -> None: ...
|
|
10
|
+
|
|
11
|
+
def intersectRay_first(self, origin: Annotated[ArrayLike, dict(dtype='float32', shape=(3), order='C')], direction: Annotated[ArrayLike, dict(dtype='float32', shape=(3), order='C')], tnear: float = 0, tfar: float = float('inf')) -> tuple[int, float, float, float]: ...
|
|
12
|
+
|
|
13
|
+
def intersectRay(self, origin: Annotated[ArrayLike, dict(dtype='float32', shape=(3), order='C')], direction: Annotated[ArrayLike, dict(dtype='float32', shape=(3), order='C')], tnear: float = 0, tfar: float = float('inf')) -> tuple[list[tuple[int, float, float, float]], int]: ...
|
|
14
|
+
|
|
15
|
+
@overload
|
|
16
|
+
def ambient_occlusion(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], F: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], P: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], N: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], num_samples: int) -> Annotated[ArrayLike, dict(dtype='float64', shape=(None), order='C')]:
|
|
17
|
+
"""
|
|
18
|
+
Compute ambient occlusion per given point
|
|
19
|
+
|
|
20
|
+
@param[in] V #V by 3 list of mesh vertex positiosn
|
|
21
|
+
@param[in] F #F by 3 list of mesh triangle indices into rows of V
|
|
22
|
+
@param[in] P #P by 3 list of origin points
|
|
23
|
+
@param[in] N #P by 3 list of origin normals
|
|
24
|
+
@param[out] S #P list of ambient occlusion values between 1 (fully occluded) and
|
|
25
|
+
0 (not occluded)
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
@overload
|
|
29
|
+
def ambient_occlusion(ei: EmbreeIntersector, P: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], N: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], num_samples: int) -> Annotated[ArrayLike, dict(dtype='float64', shape=(None), order='C')]:
|
|
30
|
+
"""
|
|
31
|
+
Compute ambient occlusion per given point
|
|
32
|
+
|
|
33
|
+
@param[in] ei EmbreeIntersector containing (V,F)
|
|
34
|
+
@param[in] P #P by 3 list of origin points
|
|
35
|
+
@param[in] N #P by 3 list of origin normals
|
|
36
|
+
@param[out] S #P list of ambient occlusion values between 1 (fully occluded) and
|
|
37
|
+
0 (not occluded)
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
def reorient_facets_raycast(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], F: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], rays_total: int = -1, rays_minimum: int = 10, facet_wise: bool = False, use_parity: bool = False, is_verbose: bool = False) -> tuple[Annotated[ArrayLike, dict(dtype='bool', shape=(None), order='C')], Annotated[ArrayLike, dict(dtype='int64', shape=(None), order='C')]]:
|
|
41
|
+
"""
|
|
42
|
+
Orient each component (identified by C) of a mesh (V,F) using ambient
|
|
43
|
+
occlusion such that the front side is less occluded than back side, as
|
|
44
|
+
described in "A Simple Method for Correcting Facet Orientations in
|
|
45
|
+
Polygon Meshes Based on Ray Casting" [Takayama et al. 2014].
|
|
46
|
+
|
|
47
|
+
@param[in] V #V by 3 list of vertex positions
|
|
48
|
+
@param[in] F #F by 3 list of triangle indices
|
|
49
|
+
@param[in] rays_total Total number of rays that will be shot
|
|
50
|
+
@param[in] rays_minimum Minimum number of rays that each patch should receive
|
|
51
|
+
@param[in] facet_wise Decision made for each face independently, no use of patches
|
|
52
|
+
(i.e., each face is treated as a patch)
|
|
53
|
+
@param[in] use_parity Use parity mode
|
|
54
|
+
@param[in] is_verbose Verbose output to cout
|
|
55
|
+
@param[out] I #F list of whether face has been flipped
|
|
56
|
+
@param[out] C #F list of patch ID (output of bfs_orient > manifold patches)
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
@overload
|
|
60
|
+
def shape_diameter_function(V: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], F: Annotated[ArrayLike, dict(dtype='int64', shape=(None, None), writable=False)], P: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], N: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], num_samples: int) -> Annotated[ArrayLike, dict(dtype='float64', shape=(None), order='C')]:
|
|
61
|
+
"""
|
|
62
|
+
Compute shape diameter function per given point
|
|
63
|
+
|
|
64
|
+
@param[in] V #V by 3 list of mesh vertex positiosn
|
|
65
|
+
@param[in] F #F by 3 list of mesh triangle indices into rows of V
|
|
66
|
+
@param[in] P #P by 3 list of origin points
|
|
67
|
+
@param[in] N #P by 3 list of origin normals
|
|
68
|
+
@param[out] S #P list of ambient occlusion values between 1 (fully occluded) and
|
|
69
|
+
0 (not occluded)
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
@overload
|
|
73
|
+
def shape_diameter_function(ei: EmbreeIntersector, P: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], N: Annotated[ArrayLike, dict(dtype='float64', shape=(None, None), writable=False)], num_samples: int) -> Annotated[ArrayLike, dict(dtype='float64', shape=(None), order='C')]:
|
|
74
|
+
"""
|
|
75
|
+
Compute shape diameter function per given point
|
|
76
|
+
|
|
77
|
+
@param[in] ei EmbreeIntersector containing (V,F)
|
|
78
|
+
@param[in] P #P by 3 list of origin points
|
|
79
|
+
@param[in] N #P by 3 list of origin normals
|
|
80
|
+
@param[out] S #P list of ambient occlusion values between 1 (fully occluded) and
|
|
81
|
+
0 (not occluded)
|
|
82
|
+
"""
|
|
Binary file
|