|
libigl v2.5.0
|
Classes | |
| struct | CDTParam |
| Parameters for controling the CDT. More... | |
Functions | |
| template<typename DerivedV , typename DerivedF , typename DerivedTV , typename DerivedTT , typename DerivedTF > | |
| bool | cdt (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, const CDTParam ¶m, Eigen::PlainObjectBase< DerivedTV > &TV, Eigen::PlainObjectBase< DerivedTT > &TT, Eigen::PlainObjectBase< DerivedTF > &TF) |
| Create a constrained delaunay tessellation containing convex hull of the given non-selfintersecting mesh. | |
| template<typename DerivedV , typename DerivedF , typename DerivedH , typename DerivedVM , typename DerivedFM , typename DerivedR > | |
| void | mesh_to_tetgenio (const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedH > &H, const Eigen::MatrixBase< DerivedVM > &VM, const Eigen::MatrixBase< DerivedFM > &FM, const Eigen::MatrixBase< DerivedR > &R, tetgenio &in) |
| Load a vertex list and face list into a tetgenio object. | |
| bool | mesh_with_skeleton (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const Eigen::MatrixXd &C, const Eigen::VectorXi &, const Eigen::MatrixXi &BE, const Eigen::MatrixXi &CE, const int samples_per_bone, const std::string &tetgen_flags, Eigen::MatrixXd &VV, Eigen::MatrixXi &TT, Eigen::MatrixXi &FF) |
| Mesh the interior of a given surface with tetrahedra which are graded (tend to be small near the surface and large inside) and conform to the given handles and samplings thereof. | |
| bool | mesh_with_skeleton (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const Eigen::MatrixXd &C, const Eigen::VectorXi &, const Eigen::MatrixXi &BE, const Eigen::MatrixXi &CE, const int samples_per_bone, Eigen::MatrixXd &VV, Eigen::MatrixXi &TT, Eigen::MatrixXi &FF) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| template<typename DerivedV , typename DerivedT , typename DerivedF , typename DerivedTM , typename DerivedR , typename DerivedN , typename DerivedPT , typename DerivedFT > | |
| bool | tetgenio_to_tetmesh (const tetgenio &out, Eigen::PlainObjectBase< DerivedV > &V, Eigen::PlainObjectBase< DerivedT > &T, Eigen::PlainObjectBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedTM > &TM, Eigen::PlainObjectBase< DerivedR > &R, Eigen::PlainObjectBase< DerivedN > &N, Eigen::PlainObjectBase< DerivedPT > &PT, Eigen::PlainObjectBase< DerivedFT > &FT, int &num_regions) |
| Convert a tetgenio to a tetmesh. | |
| template<typename DerivedV , typename DerivedF , typename DerivedH , typename DerivedVM , typename DerivedFM , typename DerivedR , typename DerivedTV , typename DerivedTT , typename DerivedTF , typename DerivedTM , typename DerivedTR , typename DerivedTN , typename DerivedPT , typename DerivedFT > | |
| int | tetrahedralize (const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedH > &H, const Eigen::MatrixBase< DerivedVM > &VM, const Eigen::MatrixBase< DerivedFM > &FM, const Eigen::MatrixBase< DerivedR > &R, const std::string switches, Eigen::PlainObjectBase< DerivedTV > &TV, Eigen::PlainObjectBase< DerivedTT > &TT, Eigen::PlainObjectBase< DerivedTF > &TF, Eigen::PlainObjectBase< DerivedTM > &TM, Eigen::PlainObjectBase< DerivedTR > &TR, Eigen::PlainObjectBase< DerivedTN > &TN, Eigen::PlainObjectBase< DerivedPT > &PT, Eigen::PlainObjectBase< DerivedFT > &FT, int &num_regions) |
| Mesh the interior of a surface mesh (V,F) using tetgen. | |
| template<typename DerivedV , typename DerivedF , typename DerivedTV , typename DerivedTT , typename DerivedTF > | |
| int | tetrahedralize (const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const std::string switches, Eigen::PlainObjectBase< DerivedTV > &TV, Eigen::PlainObjectBase< DerivedTT > &TT, Eigen::PlainObjectBase< DerivedTF > &TF) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| bool igl::copyleft::tetgen::cdt | ( | const Eigen::PlainObjectBase< DerivedV > & | V, |
| const Eigen::PlainObjectBase< DerivedF > & | F, | ||
| const CDTParam & | param, | ||
| Eigen::PlainObjectBase< DerivedTV > & | TV, | ||
| Eigen::PlainObjectBase< DerivedTT > & | TT, | ||
| Eigen::PlainObjectBase< DerivedTF > & | TF | ||
| ) |
Create a constrained delaunay tessellation containing convex hull of the given non-selfintersecting mesh.
| [in] | V | #V by 3 list of input mesh vertices |
| [in] | F | #F by 3 list of input mesh facets |
| [in] | param | see above |
| [out] | TV | #TV by 3 list of output mesh vertices (V come first) |
| [out] | TT | #TT by 3 list of tetrahedra indices into TV. |
| [out] | TF | #TF by 3 list of facets from F potentially subdivided. |
| void igl::copyleft::tetgen::mesh_to_tetgenio | ( | const Eigen::MatrixBase< DerivedV > & | V, |
| const Eigen::MatrixBase< DerivedF > & | F, | ||
| const Eigen::MatrixBase< DerivedH > & | H, | ||
| const Eigen::MatrixBase< DerivedVM > & | VM, | ||
| const Eigen::MatrixBase< DerivedFM > & | FM, | ||
| const Eigen::MatrixBase< DerivedR > & | R, | ||
| tetgenio & | in | ||
| ) |
Load a vertex list and face list into a tetgenio object.
| [in] | V | #V by 3 vertex position list |
| [in] | F | #F list of polygon face indices into V (0-indexed) |
| [out] | in | tetgenio input object |
| [out] | H | #H list of seed point inside each hole |
| [out] | R | #R list of seed point inside each region |
| bool igl::copyleft::tetgen::mesh_with_skeleton | ( | const Eigen::MatrixXd & | V, |
| const Eigen::MatrixXi & | F, | ||
| const Eigen::MatrixXd & | C, | ||
| const Eigen::VectorXi & | , | ||
| const Eigen::MatrixXi & | BE, | ||
| const Eigen::MatrixXi & | CE, | ||
| const int | samples_per_bone, | ||
| const std::string & | tetgen_flags, | ||
| Eigen::MatrixXd & | VV, | ||
| Eigen::MatrixXi & | TT, | ||
| Eigen::MatrixXi & | FF | ||
| ) |
Mesh the interior of a given surface with tetrahedra which are graded (tend to be small near the surface and large inside) and conform to the given handles and samplings thereof.
| [in] | V | #V by 3 list of mesh vertex positions |
| [in] | F | #F by 3 list of triangle indices |
| [in] | C | #C by 3 list of vertex positions |
| [in] | P | #P list of point handle indices |
| [in] | BE | #BE by 2 list of bone-edge indices |
| [in] | CE | #CE by 2 list of cage-edge indices |
| [in] | samples_per_bone | #samples to add per bone |
| [in] | tetgen_flags | flags to pass to tetgen {""-->"pq2Y"} otherwise you're on your own and it's your funeral if you pass nonsense flags |
| [out] | VV | #VV by 3 list of tet-mesh vertex positions |
| [out] | TT | #TT by 4 list of tetrahedra indices |
| [out] | FF | #FF by 3 list of surface triangle indices |
| bool igl::copyleft::tetgen::mesh_with_skeleton | ( | const Eigen::MatrixXd & | V, |
| const Eigen::MatrixXi & | F, | ||
| const Eigen::MatrixXd & | C, | ||
| const Eigen::VectorXi & | , | ||
| const Eigen::MatrixXi & | BE, | ||
| const Eigen::MatrixXi & | CE, | ||
| const int | samples_per_bone, | ||
| Eigen::MatrixXd & | VV, | ||
| Eigen::MatrixXi & | TT, | ||
| Eigen::MatrixXi & | FF | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| bool igl::copyleft::tetgen::tetgenio_to_tetmesh | ( | const tetgenio & | out, |
| Eigen::PlainObjectBase< DerivedV > & | V, | ||
| Eigen::PlainObjectBase< DerivedT > & | T, | ||
| Eigen::PlainObjectBase< DerivedF > & | F, | ||
| Eigen::PlainObjectBase< DerivedTM > & | TM, | ||
| Eigen::PlainObjectBase< DerivedR > & | R, | ||
| Eigen::PlainObjectBase< DerivedN > & | N, | ||
| Eigen::PlainObjectBase< DerivedPT > & | PT, | ||
| Eigen::PlainObjectBase< DerivedFT > & | FT, | ||
| int & | num_regions | ||
| ) |
Convert a tetgenio to a tetmesh.
| [in] | out | output of tetrahedralization |
| [out] | V | #V by 3 list of mesh vertex positions |
| [out] | T | #T by 4 list of mesh tet indices into V |
| [out] | F | #F by 3 list of mesh triangle indices into V |
| [out] | TM | #T by 1 list of material indices into R |
| [out] | R | #TT list of region ID for each tetrahedron |
| [out] | N | #TT by 4 list of indices neighbors for each tetrahedron ('n') |
| [out] | PT | #TV list of incident tetrahedron for a vertex ('m') |
| [out] | FT | #TF by 2 list of tetrahedrons sharing a triface ('nn') |
| [out] | num_regions | Number of regions in output mesh |
| int igl::copyleft::tetgen::tetrahedralize | ( | const Eigen::MatrixBase< DerivedV > & | V, |
| const Eigen::MatrixBase< DerivedF > & | F, | ||
| const Eigen::MatrixBase< DerivedH > & | H, | ||
| const Eigen::MatrixBase< DerivedVM > & | VM, | ||
| const Eigen::MatrixBase< DerivedFM > & | FM, | ||
| const Eigen::MatrixBase< DerivedR > & | R, | ||
| const std::string | switches, | ||
| Eigen::PlainObjectBase< DerivedTV > & | TV, | ||
| Eigen::PlainObjectBase< DerivedTT > & | TT, | ||
| Eigen::PlainObjectBase< DerivedTF > & | TF, | ||
| Eigen::PlainObjectBase< DerivedTM > & | TM, | ||
| Eigen::PlainObjectBase< DerivedTR > & | TR, | ||
| Eigen::PlainObjectBase< DerivedTN > & | TN, | ||
| Eigen::PlainObjectBase< DerivedPT > & | PT, | ||
| Eigen::PlainObjectBase< DerivedFT > & | FT, | ||
| int & | num_regions | ||
| ) |
Mesh the interior of a surface mesh (V,F) using tetgen.
| [in] | V | #V by 3 vertex position list |
| [in] | F | #F list of polygon face indices into V (0-indexed) |
| [in] | H | #H by 3 list of seed points inside holes |
| [in] | VM | #VM list of vertex markers |
| [in] | FM | #FM list of face markers |
| [in] | R | #R by 5 list of region attributes |
| [in] | switches | string of tetgen options (See tetgen documentation) e.g. "pq1.414a0.01" tries to mesh the interior of a given surface with quality and area constraints "" will mesh the convex hull constrained to pass through V (ignores F) |
| [out] | TV | #TV by 3 vertex position list |
| [out] | TT | #TT by 4 list of tet face indices |
| [out] | TF | #TF by 3 list of triangle face indices ('f', else boundary_facets is called on TT) |
| [out] | TR | #TT list of region ID for each tetrahedron |
| [out] | TN | #TT by 4 list of indices neighbors for each tetrahedron ('n') |
| [out] | PT | #TV list of incident tetrahedron for a vertex ('m') |
| [out] | FT | #TF by 2 list of tetrahedrons sharing a triface ('nn') |
| [out] | num_regions | Number of regions in output mesh |
attr = (int) in->regionlist[i + 3];. So it's declared safe to use integer types for TR since this also assumes that there's a single tet attribute and that it's the region id.| int igl::copyleft::tetgen::tetrahedralize | ( | const Eigen::MatrixBase< DerivedV > & | V, |
| const Eigen::MatrixBase< DerivedF > & | F, | ||
| const std::string | switches, | ||
| Eigen::PlainObjectBase< DerivedTV > & | TV, | ||
| Eigen::PlainObjectBase< DerivedTT > & | TT, | ||
| Eigen::PlainObjectBase< DerivedTF > & | TF | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.