Classes | |
| struct | DAGTetrahedra |
Public Member Functions | |
| DAGTetrahedraTree () | |
| DAGTetrahedraTree (const DAGTetrahedraTree &) | |
| virtual | ~DAGTetrahedraTree () |
| DAGTetrahedraTree & | operator= (const DAGTetrahedraTree &) |
| bool | setCoordList (const TypeSet< Coord3 > &, bool copy) |
| const TypeSet< Coord3 > & | coordList () const |
| bool | init () |
| void | setInitSizeFactor (float) |
| float | getInitSizeFactor () const |
| bool | isOK () const |
| bool | setBBox (const Interval< double > &xrg, const Interval< double > &yrg, const Interval< double > &zrg) |
| bool | insertPoint (int pointidx, int &dupid) |
| int | insertPoint (const Coord3 &, int &dupid) |
| char | locationToTetrahedra (const Coord3 &checkpt, const Coord3 *v, char &face, int &dupididx, int &edgeend0idx, int &edgeend1idx, double &dist) const |
| char | searchTetrahedra (const Coord3 &) |
| bool | getConnections (int pointidx, TypeSet< int > &) const |
| bool | getTetrahedras (TypeSet< int > &) const |
| bool | getSurfaceTriangles (TypeSet< int > &) const |
| void | setEpsilon (double err) |
Static Public Member Functions | |
| static bool | computeCoordRanges (const TypeSet< Coord3 > &, Interval< double > &xrg, Interval< double > &yrg, Interval< double > &zrg) |
| static int | cNoVertex () |
Protected Member Functions | |
| void | splitInitialBox (int ci) |
| void | splitTetrahedraInside (int ci, int ti) |
| void | splitTetrahedraOnFace (int ci, int ti0, int ti1, char face) |
| void | splitTetrahedraOnEdge (int ci, const TypeSet< int > &tis, int &sharedv0, int &sharedv1) |
| void | legalizeTetrahedras (TypeSet< int > &v0s, TypeSet< int > &v1s, TypeSet< int > &v2s, TypeSet< int > &tis) |
| char | searchTetrahedra (int ci, int start, TypeSet< int > &tis, char &face, int &sharedv0, int &sharedv1, int &dupid) const |
| int | searchFaceOnNeighbor (int a, int b, int c, int ti) const |
| int | searchFaceOnChild (int a, int b, int c, int ti) const |
| int | searchFaceOnList (int ci, int v0, int v1, int rep, const TypeSet< int > &tis) const |
| char | location (int ci, int ti, char &face, int &dupid, int &edgeend0, int &edgeend1, double &dist) const |
| char | isOnEdge (const Coord3 &p, const Coord3 &a, const Coord3 &b, const Coord3 planenormal, bool &duponfirst, double &signedsqdist) const |
| char | locationToTriangle (const Coord3 &pt, const Coord3 &a, const Coord3 &b, const Coord3 &c, double &signedsqdist, double &closeedgedist, char &dupid, char &edgeidx) const |
| char | isIntersect (const Coord3 &p, const Coord3 &q, const Coord3 &a, const Coord3 &b, const Coord3 &c, char &edge) const |
| void | addTriangle (int v0, int v1, int v2, TypeSet< int > &triangles) const |
Static Protected Member Functions | |
| static char | cIsInside () |
| static char | cIsOnFace () |
| static char | cIsOnEdge () |
| static char | cEdge01 () |
| static char | cEdge12 () |
| static char | cEdge20 () |
| static char | cIsDuplicate () |
| static char | cIsOutside () |
| static char | cNotOnEdge () |
| static char | cNotOnPlane () |
| static char | cError () |
| static int | cNoTetrahedra () |
| static int | cNoFace () |
| static int | cInitVertex0 () |
| static int | cInitVertex1 () |
| static int | cInitVertex2 () |
| static int | cInitVertex3 () |
Protected Attributes | |
| TypeSet< DAGTetrahedra > | tetrahedras_ |
| TypeSet< Coord3 > * | coordlist_ |
| Coord3 | center_ |
| Coord3 | initialcoords_ [4] |
| bool | ownscoordlist_ |
| double | epsilon_ |
| float | initsizefactor_ |
| DAGTetrahedraTree::DAGTetrahedraTree | ( | ) |
| DAGTetrahedraTree::DAGTetrahedraTree | ( | const DAGTetrahedraTree & | ) |
| virtual DAGTetrahedraTree::~DAGTetrahedraTree | ( | ) | [virtual] |
| void DAGTetrahedraTree::addTriangle | ( | int | v0, | |
| int | v1, | |||
| int | v2, | |||
| TypeSet< int > & | triangles | |||
| ) | const [protected] |
if triangles have {v0,v1,v2}, then return, else, add it.
| static char DAGTetrahedraTree::cEdge01 | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cEdge12 | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cEdge20 | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cError | ( | ) | [inline, static, protected] |
| static int DAGTetrahedraTree::cInitVertex0 | ( | ) | [inline, static, protected] |
| static int DAGTetrahedraTree::cInitVertex1 | ( | ) | [inline, static, protected] |
| static int DAGTetrahedraTree::cInitVertex2 | ( | ) | [inline, static, protected] |
| static int DAGTetrahedraTree::cInitVertex3 | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cIsDuplicate | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cIsInside | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cIsOnEdge | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cIsOnFace | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cIsOutside | ( | ) | [inline, static, protected] |
| static int DAGTetrahedraTree::cNoFace | ( | ) | [inline, static, protected] |
| static int DAGTetrahedraTree::cNoTetrahedra | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cNotOnEdge | ( | ) | [inline, static, protected] |
| static char DAGTetrahedraTree::cNotOnPlane | ( | ) | [inline, static, protected] |
| static int DAGTetrahedraTree::cNoVertex | ( | ) | [inline, static] |
| static bool DAGTetrahedraTree::computeCoordRanges | ( | const TypeSet< Coord3 > & | , | |
| Interval< double > & | xrg, | |||
| Interval< double > & | yrg, | |||
| Interval< double > & | zrg | |||
| ) | [static] |
| bool DAGTetrahedraTree::getConnections | ( | int | pointidx, | |
| TypeSet< int > & | ||||
| ) | const |
| float DAGTetrahedraTree::getInitSizeFactor | ( | ) | const [inline] |
| bool DAGTetrahedraTree::getSurfaceTriangles | ( | TypeSet< int > & | ) | const |
| bool DAGTetrahedraTree::getTetrahedras | ( | TypeSet< int > & | ) | const |
| bool DAGTetrahedraTree::init | ( | ) |
| bool DAGTetrahedraTree::insertPoint | ( | int | pointidx, | |
| int & | dupid | |||
| ) |
| int DAGTetrahedraTree::insertPoint | ( | const Coord3 & | , | |
| int & | dupid | |||
| ) |
| char DAGTetrahedraTree::isIntersect | ( | const Coord3 & | p, | |
| const Coord3 & | q, | |||
| const Coord3 & | a, | |||
| const Coord3 & | b, | |||
| const Coord3 & | c, | |||
| char & | edge | |||
| ) | const [protected] |
ret inside, outside, on edge, or duplicate. edge will be defined if pq intersects ABC on edge 0, 1, 2 in order.
| bool DAGTetrahedraTree::isOK | ( | ) | const [inline] |
| char DAGTetrahedraTree::isOnEdge | ( | const Coord3 & | p, | |
| const Coord3 & | a, | |||
| const Coord3 & | b, | |||
| const Coord3 | planenormal, | |||
| bool & | duponfirst, | |||
| double & | signedsqdist | |||
| ) | const [protected] |
| void DAGTetrahedraTree::legalizeTetrahedras | ( | TypeSet< int > & | v0s, | |
| TypeSet< int > & | v1s, | |||
| TypeSet< int > & | v2s, | |||
| TypeSet< int > & | tis | |||
| ) | [protected] |
| char DAGTetrahedraTree::location | ( | int | ci, | |
| int | ti, | |||
| char & | face, | |||
| int & | dupid, | |||
| int & | edgeend0, | |||
| int & | edgeend1, | |||
| double & | dist | |||
| ) | const [protected] |
| char DAGTetrahedraTree::locationToTetrahedra | ( | const Coord3 & | checkpt, | |
| const Coord3 * | v, | |||
| char & | face, | |||
| int & | dupididx, | |||
| int & | edgeend0idx, | |||
| int & | edgeend1idx, | |||
| double & | dist | |||
| ) | const |
| char DAGTetrahedraTree::locationToTriangle | ( | const Coord3 & | pt, | |
| const Coord3 & | a, | |||
| const Coord3 & | b, | |||
| const Coord3 & | c, | |||
| double & | signedsqdist, | |||
| double & | closeedgedist, | |||
| char & | dupid, | |||
| char & | edgeidx | |||
| ) | const [protected] |
| DAGTetrahedraTree& DAGTetrahedraTree::operator= | ( | const DAGTetrahedraTree & | ) |
| int DAGTetrahedraTree::searchFaceOnChild | ( | int | a, | |
| int | b, | |||
| int | c, | |||
| int | ti | |||
| ) | const [protected] |
| int DAGTetrahedraTree::searchFaceOnList | ( | int | ci, | |
| int | v0, | |||
| int | v1, | |||
| int | rep, | |||
| const TypeSet< int > & | tis | |||
| ) | const [protected] |
| int DAGTetrahedraTree::searchFaceOnNeighbor | ( | int | a, | |
| int | b, | |||
| int | c, | |||
| int | ti | |||
| ) | const [protected] |
| char DAGTetrahedraTree::searchTetrahedra | ( | int | ci, | |
| int | start, | |||
| TypeSet< int > & | tis, | |||
| char & | face, | |||
| int & | sharedv0, | |||
| int & | sharedv1, | |||
| int & | dupid | |||
| ) | const [protected] |
| char DAGTetrahedraTree::searchTetrahedra | ( | const Coord3 & | ) |
| bool DAGTetrahedraTree::setBBox | ( | const Interval< double > & | xrg, | |
| const Interval< double > & | yrg, | |||
| const Interval< double > & | zrg | |||
| ) |
| void DAGTetrahedraTree::setEpsilon | ( | double | err | ) | [inline] |
| void DAGTetrahedraTree::setInitSizeFactor | ( | float | ) |
| void DAGTetrahedraTree::splitInitialBox | ( | int | ci | ) | [protected] |
| void DAGTetrahedraTree::splitTetrahedraInside | ( | int | ci, | |
| int | ti | |||
| ) | [protected] |
| void DAGTetrahedraTree::splitTetrahedraOnEdge | ( | int | ci, | |
| const TypeSet< int > & | tis, | |||
| int & | sharedv0, | |||
| int & | sharedv1 | |||
| ) | [protected] |
| void DAGTetrahedraTree::splitTetrahedraOnFace | ( | int | ci, | |
| int | ti0, | |||
| int | ti1, | |||
| char | face | |||
| ) | [protected] |
Coord3 DAGTetrahedraTree::center_ [protected] |
TypeSet<Coord3>* DAGTetrahedraTree::coordlist_ [protected] |
double DAGTetrahedraTree::epsilon_ [protected] |
Coord3 DAGTetrahedraTree::initialcoords_[4] [protected] |
-2,-3,-4, -5 are their indices.
float DAGTetrahedraTree::initsizefactor_ [protected] |
bool DAGTetrahedraTree::ownscoordlist_ [protected] |
TypeSet<DAGTetrahedra> DAGTetrahedraTree::tetrahedras_ [protected] |
1.7.1