|
template<typename GridType > |
void | volumeToMesh (const GridType &grid, std::vector< Vec3s > &points, std::vector< Vec4I > &quads, double isovalue=0.0) |
| Uniformly mesh any scalar grid that has a continuous isosurface. More...
|
|
template<typename GridType > |
void | volumeToMesh (const GridType &grid, std::vector< Vec3s > &points, std::vector< Vec3I > &triangles, std::vector< Vec4I > &quads, double isovalue=0.0, double adaptivity=0.0) |
| Adaptively mesh any scalar grid that has a continuous isosurface. More...
|
|
Vec3d | findFeaturePoint (const std::vector< Vec3d > &points, const std::vector< Vec3d > &normals) |
| Given a set of tangent elements, points with corresponding normals , this method returns the intersection point of all tangent elements. More...
|
|
bool | isPlanarQuad (const Vec3d &p0, const Vec3d &p1, const Vec3d &p2, const Vec3d &p3, double epsilon=0.001) |
|
template<typename AccessorT > |
unsigned char | evalCellSigns (const AccessorT &accessor, const Coord &ijk, typename AccessorT::ValueType iso) |
| General method that computes the cell-sign configuration at the given ijk coordinate. More...
|
|
template<typename LeafT > |
unsigned char | evalCellSigns (const LeafT &leaf, const Index offset, typename LeafT::ValueType iso) |
| Leaf node optimized method that computes the cell-sign configuration at the given local offset . More...
|
|
template<class AccessorT > |
void | correctCellSigns (unsigned char &signs, unsigned char face, const AccessorT &acc, Coord ijk, typename AccessorT::ValueType iso) |
| Used to correct topological ambiguities related to two adjacent cells that share an ambiguous face. More...
|
|
template<class AccessorT > |
bool | isNonManifold (const AccessorT &accessor, const Coord &ijk, typename AccessorT::ValueType isovalue, const int dim) |
|
template<class LeafType > |
void | mergeVoxels (LeafType &leaf, const Coord &start, int dim, int regionId) |
|
template<class LeafType > |
bool | isMergable (LeafType &leaf, const Coord &start, int dim, typename LeafType::ValueType::value_type adaptivity) |
|
double | evalRoot (double v0, double v1, double iso) |
|
template<typename LeafT > |
void | collectCornerValues (const LeafT &leaf, const Index offset, std::vector< double > &values) |
| Extracts the eight corner values for leaf inclusive cells. More...
|
|
template<typename AccessorT > |
void | collectCornerValues (const AccessorT &acc, const Coord &ijk, std::vector< double > &values) |
| Extracts the eight corner values for a cell starting at the given coordinate. More...
|
|
Vec3d | computePoint (const std::vector< double > &values, unsigned char signs, unsigned char edgeGroup, double iso) |
| Computes the average cell point for a given edge group. More...
|
|
int | computeMaskedPoint (Vec3d &avg, const std::vector< double > &values, unsigned char signs, unsigned char signsMask, unsigned char edgeGroup, double iso) |
| Computes the average cell point for a given edge group, ignoring edge samples present in the signsMask configuration. More...
|
|
Vec3d | computeWeightedPoint (const Vec3d &p, const std::vector< double > &values, unsigned char signs, unsigned char edgeGroup, double iso) |
| Computes the average cell point for a given edge group, by computing convex weights based on the distance from the sample point p . More...
|
|
void | computeCellPoints (std::vector< Vec3d > &points, const std::vector< double > &values, unsigned char signs, double iso) |
| Computes the average cell points defined by the sign configuration signs and the given corner values values . More...
|
|
int | matchEdgeGroup (unsigned char groupId, unsigned char lhsSigns, unsigned char rhsSigns) |
| Given a sign configuration lhsSigns and an edge group groupId , finds the corresponding edge group in a different sign configuration rhsSigns . Returns -1 if no match is found. More...
|
|
void | computeCellPoints (std::vector< Vec3d > &points, std::vector< bool > &weightedPointMask, const std::vector< double > &lhsValues, const std::vector< double > &rhsValues, unsigned char lhsSigns, unsigned char rhsSigns, double iso, size_t pointIdx, const boost::scoped_array< uint32_t > &seamPoints) |
| Computes the average cell points defined by the sign configuration signs and the given corner values values . Combines data from two different level sets to eliminate seam lines when meshing fractured segments. More...
|
|
template<typename SignAccT , typename IdxAccT , typename PrimBuilder > |
void | constructPolygons (Int16 flags, Int16 refFlags, const Vec4i &offsets, const Coord &ijk, const SignAccT &signAcc, const IdxAccT &idxAcc, PrimBuilder &mesher, Index32 pointListSize) |
|
template<class DistTreeT , class SignTreeT , class IdxTreeT > |
void | tileData (const DistTreeT &distTree, SignTreeT &signTree, IdxTreeT &idxTree, double iso) |
|
template<typename LeafManagerT > |
bool | needsActiveVoxePadding (const LeafManagerT &leafs, double iso, double voxelSize) |
|
template<typename GridType > |
boost::enable_if< boost::is_scalar< typename GridType::ValueType >, void >::type | doVolumeToMesh (const GridType &grid, std::vector< Vec3s > &points, std::vector< Vec3I > &triangles, std::vector< Vec4I > &quads, double isovalue, double adaptivity) |
|
template<typename GridType > |
boost::disable_if< boost::is_scalar< typename GridType::ValueType >, void >::type | doVolumeToMesh (const GridType &, std::vector< Vec3s > &, std::vector< Vec3I > &, std::vector< Vec4I > &, double, double) |
|