moab
|
Public Member Functions | |
EdgeUse (Edge *edge) | |
EdgeUse (Edge *edge, Face *face) | |
~EdgeUse () | |
BSPTreePoly::Vertex * | start () const |
BSPTreePoly::Vertex * | end () const |
int | sense () const |
void | insert_after (BSPTreePoly::EdgeUse *prev) |
void | insert_before (BSPTreePoly::EdgeUse *next) |
Public Attributes | |
BSPTreePoly::EdgeUse * | prevPtr |
BSPTreePoly::EdgeUse * | nextPtr |
BSPTreePoly::Edge * | edgePtr |
BSPTreePoly::Face * | facePtr |
Definition at line 38 of file BSPTreePoly.cpp.
moab::BSPTreePoly::EdgeUse::EdgeUse | ( | BSPTreePoly::Edge * | edge, |
BSPTreePoly::Face * | face | ||
) |
Definition at line 216 of file BSPTreePoly.cpp.
: edgePtr(edge), facePtr(face) { assert(!face->usePtr); face->usePtr = prevPtr = nextPtr = this; if (!face->usePtr) { face->usePtr = prevPtr = nextPtr = this; return; } nextPtr = face->usePtr; prevPtr = nextPtr->prevPtr; assert( prevPtr->nextPtr == nextPtr ); nextPtr->prevPtr = this; prevPtr->nextPtr = this; }
Definition at line 264 of file BSPTreePoly.cpp.
{ if (facePtr->usePtr == this) facePtr->usePtr = (nextPtr == this) ? 0 : nextPtr; if (edgePtr->forwardPtr == this) edgePtr->forwardPtr = 0; if (edgePtr->reversePtr == this) edgePtr->reversePtr = 0; if (!edgePtr->forwardPtr && !edgePtr->reversePtr) delete edgePtr; nextPtr->prevPtr = prevPtr; prevPtr->nextPtr = nextPtr; nextPtr = prevPtr = 0; }
BSPTreePoly::Vertex * moab::BSPTreePoly::EdgeUse::end | ( | ) | const [inline] |
Definition at line 302 of file BSPTreePoly.cpp.
{ if (edgePtr->forwardPtr == this) return edgePtr->end(); else if (edgePtr->reversePtr == this) return edgePtr->start(); else return 0; }
void moab::BSPTreePoly::EdgeUse::insert_after | ( | BSPTreePoly::EdgeUse * | prev | ) |
void moab::BSPTreePoly::EdgeUse::insert_before | ( | BSPTreePoly::EdgeUse * | next | ) |
int moab::BSPTreePoly::EdgeUse::sense | ( | ) | const |
Definition at line 282 of file BSPTreePoly.cpp.
{ if (edgePtr->forwardPtr == this) return 1; else if (edgePtr->reversePtr == this) return -1; else return 0; }
BSPTreePoly::Vertex * moab::BSPTreePoly::EdgeUse::start | ( | ) | const [inline] |
Definition at line 292 of file BSPTreePoly.cpp.
{ if (edgePtr->forwardPtr == this) return edgePtr->start(); else if (edgePtr->reversePtr == this) return edgePtr->end(); else return 0; }
Definition at line 44 of file BSPTreePoly.cpp.
Definition at line 45 of file BSPTreePoly.cpp.
Definition at line 43 of file BSPTreePoly.cpp.
Definition at line 43 of file BSPTreePoly.cpp.