![]() |
Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
Definition at line 64 of file BSPTreePoly.cpp.
moab::BSPTreePoly::Edge::Edge | ( | Vertex * | vstart, |
Vertex * | vend | ||
) | [inline] |
Definition at line 73 of file BSPTreePoly.cpp.
References endPtr, and startPtr.
: forwardPtr( 0 ), reversePtr( 0 )
#ifdef DEBUG_IDS
,
id( nextID++ )
#endif
{
startPtr = new VertexUse( this, vstart );
endPtr = new VertexUse( this, vend );
}
Definition at line 356 of file BSPTreePoly.cpp.
{
delete startPtr;
delete endPtr;
delete forwardPtr;
delete reversePtr;
}
void moab::BSPTreePoly::Edge::add_to_vertex | ( | BSPTreePoly::Vertex * | vtx_ptr | ) |
BSPTreePoly::Vertex* moab::BSPTreePoly::Edge::common | ( | BSPTreePoly::Edge * | eother | ) | const [inline] |
Definition at line 142 of file BSPTreePoly.cpp.
References end(), and start().
{
return start() == eother->start() || start() == eother->end() ? start()
: end() == eother->start() || end() == eother->end() ? end()
: 0;
}
BSPTreePoly::Vertex* moab::BSPTreePoly::Edge::end | ( | ) | const [inline] |
Definition at line 90 of file BSPTreePoly.cpp.
References endPtr, and moab::BSPTreePoly::VertexUse::vtxPtr.
Referenced by common(), moab::BSPTreePoly::cut_polyhedron(), moab::BSPTreePoly::is_valid(), moab::BSPTreePoly::set_vertex_marks(), and moab::split_edge().
{
return endPtr->vtxPtr;
}
BSPTreePoly::Face* moab::BSPTreePoly::Edge::forward | ( | ) | const [inline] |
Definition at line 95 of file BSPTreePoly.cpp.
References moab::BSPTreePoly::EdgeUse::facePtr, and forwardPtr.
{
return forwardPtr ? forwardPtr->facePtr : 0;
}
BSPTreePoly::Edge* moab::BSPTreePoly::Edge::next | ( | BSPTreePoly::Vertex * | about | ) | const [inline] |
Definition at line 108 of file BSPTreePoly.cpp.
References moab::BSPTreePoly::VertexUse::edgePtr, moab::BSPTreePoly::VertexUse::nextPtr, and use().
{
return use( about )->nextPtr->edgePtr;
}
BSPTreePoly::Edge* moab::BSPTreePoly::Edge::next | ( | BSPTreePoly::Face * | about | ) | const [inline] |
Definition at line 121 of file BSPTreePoly.cpp.
References moab::BSPTreePoly::VertexUse::edgePtr, moab::BSPTreePoly::VertexUse::nextPtr, and use().
{
return use( about )->nextPtr->edgePtr;
}
BSPTreePoly::VertexUse* moab::BSPTreePoly::Edge::other | ( | BSPTreePoly::VertexUse * | vuse | ) | const [inline] |
Definition at line 130 of file BSPTreePoly.cpp.
References endPtr, and startPtr.
Referenced by moab::BSPTreePoly::cut_polyhedron().
{
return vuse == startPtr ? endPtr : vuse == endPtr ? startPtr : 0;
}
BSPTreePoly::EdgeUse* moab::BSPTreePoly::Edge::other | ( | BSPTreePoly::EdgeUse * | vuse | ) | const [inline] |
Definition at line 134 of file BSPTreePoly.cpp.
References forwardPtr, and reversePtr.
{
return vuse == forwardPtr ? reversePtr : vuse == reversePtr ? forwardPtr : 0;
}
BSPTreePoly::Vertex* moab::BSPTreePoly::Edge::other | ( | BSPTreePoly::Vertex * | vtx | ) | const [inline] |
Definition at line 138 of file BSPTreePoly.cpp.
References endPtr, startPtr, and moab::BSPTreePoly::VertexUse::vtxPtr.
{
return vtx == startPtr->vtxPtr ? endPtr->vtxPtr : vtx == endPtr->vtxPtr ? startPtr->vtxPtr : 0;
}
BSPTreePoly::Edge* moab::BSPTreePoly::Edge::prev | ( | BSPTreePoly::Vertex * | about | ) | const [inline] |
Definition at line 112 of file BSPTreePoly.cpp.
References moab::BSPTreePoly::VertexUse::edgePtr, moab::BSPTreePoly::VertexUse::prevPtr, and use().
{
return use( about )->prevPtr->edgePtr;
}
BSPTreePoly::Edge* moab::BSPTreePoly::Edge::prev | ( | BSPTreePoly::Face * | about | ) | const [inline] |
Definition at line 125 of file BSPTreePoly.cpp.
References moab::BSPTreePoly::VertexUse::edgePtr, moab::BSPTreePoly::VertexUse::prevPtr, and use().
{
return use( about )->prevPtr->edgePtr;
}
void moab::BSPTreePoly::Edge::remove_from_face | ( | BSPTreePoly::Face *& | face_ptr | ) |
void moab::BSPTreePoly::Edge::remove_from_vertex | ( | BSPTreePoly::Vertex *& | vtx_ptr | ) |
BSPTreePoly::Face* moab::BSPTreePoly::Edge::reverse | ( | ) | const [inline] |
Definition at line 99 of file BSPTreePoly.cpp.
References moab::BSPTreePoly::EdgeUse::facePtr, and reversePtr.
{
return reversePtr ? reversePtr->facePtr : 0;
}
int moab::BSPTreePoly::Edge::sense | ( | BSPTreePoly::Face * | face | ) | const |
Definition at line 364 of file BSPTreePoly.cpp.
{
if( forwardPtr && forwardPtr->facePtr == face )
return 1;
else if( reversePtr && reversePtr->facePtr == face )
return -1;
else
return 0;
}
BSPTreePoly::Vertex* moab::BSPTreePoly::Edge::start | ( | ) | const [inline] |
Definition at line 86 of file BSPTreePoly.cpp.
References startPtr, and moab::BSPTreePoly::VertexUse::vtxPtr.
Referenced by common(), moab::BSPTreePoly::cut_polyhedron(), moab::BSPTreePoly::is_valid(), and moab::BSPTreePoly::set_vertex_marks().
{
return startPtr->vtxPtr;
}
BSPTreePoly::VertexUse* moab::BSPTreePoly::Edge::use | ( | BSPTreePoly::Vertex * | vtx | ) | const [inline] |
Definition at line 104 of file BSPTreePoly.cpp.
References endPtr, startPtr, and moab::BSPTreePoly::VertexUse::vtxPtr.
Referenced by moab::BSPTreePoly::cut_polyhedron(), next(), and prev().
{
return ( vtx == startPtr->vtxPtr ) ? startPtr : ( vtx == endPtr->vtxPtr ) ? endPtr : 0;
}
BSPTreePoly::EdgeUse* moab::BSPTreePoly::Edge::use | ( | BSPTreePoly::Face * | face | ) | const [inline] |
Definition at line 117 of file BSPTreePoly.cpp.
References moab::BSPTreePoly::EdgeUse::facePtr, forwardPtr, and reversePtr.
{
return ( face == forwardPtr->facePtr ) ? forwardPtr : ( face == reversePtr->facePtr ) ? reversePtr : 0;
}
Definition at line 66 of file BSPTreePoly.cpp.
Referenced by Edge(), end(), moab::BSPTreePoly::is_valid(), other(), moab::split_edge(), and use().
Definition at line 67 of file BSPTreePoly.cpp.
Referenced by moab::BSPTreePoly::cut_polyhedron(), forward(), moab::BSPTreePoly::is_valid(), other(), moab::BSPTreePoly::set(), moab::split_edge(), moab::split_face(), and use().
Definition at line 67 of file BSPTreePoly.cpp.
Referenced by moab::BSPTreePoly::cut_polyhedron(), moab::BSPTreePoly::is_valid(), other(), reverse(), moab::BSPTreePoly::set(), moab::split_edge(), moab::split_face(), and use().
Definition at line 66 of file BSPTreePoly.cpp.
Referenced by Edge(), moab::BSPTreePoly::is_valid(), other(), start(), and use().