![]() |
Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
Public Member Functions | |
VertexUse (Edge *edge, Vertex *vtx) | |
~VertexUse () | |
void | set_vertex (BSPTreePoly::Vertex *&vtx_ptr) |
Public Attributes | |
BSPTreePoly::VertexUse * | nextPtr |
BSPTreePoly::VertexUse * | prevPtr |
BSPTreePoly::Vertex * | vtxPtr |
BSPTreePoly::Edge * | edgePtr |
Definition at line 34 of file BSPTreePoly.cpp.
moab::BSPTreePoly::VertexUse::VertexUse | ( | BSPTreePoly::Edge * | edge, |
BSPTreePoly::Vertex * | vtx | ||
) |
Definition at line 203 of file BSPTreePoly.cpp.
References nextPtr, prevPtr, and moab::BSPTreePoly::Vertex::usePtr.
: vtxPtr( vtx ), edgePtr( edge )
{
if( !vtx->usePtr )
{
vtx->usePtr = prevPtr = nextPtr = this;
return;
}
nextPtr = vtx->usePtr;
prevPtr = nextPtr->prevPtr;
assert( prevPtr->nextPtr == nextPtr );
nextPtr->prevPtr = this;
prevPtr->nextPtr = this;
}
Definition at line 218 of file BSPTreePoly.cpp.
{
if( nextPtr == this )
{
assert( prevPtr == this );
assert( vtxPtr->usePtr == this );
vtxPtr->usePtr = 0;
delete vtxPtr;
}
else if( vtxPtr->usePtr == this )
vtxPtr->usePtr = nextPtr;
nextPtr->prevPtr = prevPtr;
prevPtr->nextPtr = nextPtr;
nextPtr = prevPtr = 0;
}
void moab::BSPTreePoly::VertexUse::set_vertex | ( | BSPTreePoly::Vertex *& | vtx_ptr | ) |
Definition at line 235 of file BSPTreePoly.cpp.
References nextPtr, prevPtr, and moab::BSPTreePoly::Vertex::usePtr.
Referenced by moab::split_edge().
{
if( vtxPtr )
{
if( nextPtr == prevPtr )
{
assert( nextPtr == this );
vtxPtr->usePtr = 0;
delete vtx;
vtx = 0;
}
else
{
nextPtr->prevPtr = prevPtr;
prevPtr->nextPtr = nextPtr;
if( vtxPtr->usePtr == this ) vtxPtr->usePtr = nextPtr;
}
}
if( vtx )
{
vtxPtr = vtx;
nextPtr = vtxPtr->usePtr->nextPtr;
prevPtr = vtxPtr->usePtr;
nextPtr->prevPtr = this;
vtxPtr->usePtr->nextPtr = this;
}
}
Definition at line 43 of file BSPTreePoly.cpp.
Referenced by moab::BSPTreePoly::cut_polyhedron(), moab::BSPTreePoly::is_valid(), moab::BSPTreePoly::Edge::next(), and moab::BSPTreePoly::Edge::prev().
Definition at line 41 of file BSPTreePoly.cpp.
Referenced by moab::BSPTreePoly::cut_polyhedron(), moab::BSPTreePoly::is_valid(), moab::BSPTreePoly::Edge::next(), set_vertex(), and VertexUse().
Definition at line 41 of file BSPTreePoly.cpp.
Referenced by moab::BSPTreePoly::is_valid(), moab::BSPTreePoly::Edge::prev(), set_vertex(), and VertexUse().
Definition at line 42 of file BSPTreePoly.cpp.
Referenced by moab::BSPTreePoly::Edge::end(), moab::BSPTreePoly::is_valid(), moab::BSPTreePoly::Edge::other(), moab::BSPTreePoly::Edge::start(), and moab::BSPTreePoly::Edge::use().