Mesh Oriented datABase  (version 5.4.1)
Array-based unstructured mesh datastructure
moab::BSPTreePoly::Edge Struct Reference
+ Collaboration diagram for moab::BSPTreePoly::Edge:

Public Member Functions

 Edge (Vertex *vstart, Vertex *vend)
 ~Edge ()
BSPTreePoly::Vertexstart () const
BSPTreePoly::Vertexend () const
BSPTreePoly::Faceforward () const
BSPTreePoly::Facereverse () const
BSPTreePoly::VertexUseuse (BSPTreePoly::Vertex *vtx) const
BSPTreePoly::Edgenext (BSPTreePoly::Vertex *about) const
BSPTreePoly::Edgeprev (BSPTreePoly::Vertex *about) const
BSPTreePoly::EdgeUseuse (BSPTreePoly::Face *face) const
BSPTreePoly::Edgenext (BSPTreePoly::Face *about) const
BSPTreePoly::Edgeprev (BSPTreePoly::Face *about) const
BSPTreePoly::VertexUseother (BSPTreePoly::VertexUse *vuse) const
BSPTreePoly::EdgeUseother (BSPTreePoly::EdgeUse *vuse) const
BSPTreePoly::Vertexother (BSPTreePoly::Vertex *vtx) const
BSPTreePoly::Vertexcommon (BSPTreePoly::Edge *eother) const
int sense (BSPTreePoly::Face *face) const
void remove_from_vertex (BSPTreePoly::Vertex *&vtx_ptr)
void remove_from_face (BSPTreePoly::Face *&face_ptr)
void add_to_vertex (BSPTreePoly::Vertex *vtx_ptr)

Public Attributes

BSPTreePoly::VertexUsestartPtr
BSPTreePoly::VertexUseendPtr
BSPTreePoly::EdgeUseforwardPtr
BSPTreePoly::EdgeUsereversePtr

Detailed Description

Definition at line 64 of file BSPTreePoly.cpp.


Constructor & Destructor Documentation

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;
}

Member Function Documentation

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;
    }

Definition at line 95 of file BSPTreePoly.cpp.

References moab::BSPTreePoly::EdgeUse::facePtr, and forwardPtr.

    {
        return forwardPtr ? forwardPtr->facePtr : 0;
    }

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;
    }

Definition at line 134 of file BSPTreePoly.cpp.

References forwardPtr, and reversePtr.

    {
        return vuse == forwardPtr ? reversePtr : vuse == reversePtr ? forwardPtr : 0;
    }

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;
    }

Definition at line 99 of file BSPTreePoly.cpp.

References moab::BSPTreePoly::EdgeUse::facePtr, and reversePtr.

    {
        return reversePtr ? reversePtr->facePtr : 0;
    }

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;
}

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;
    }

Member Data Documentation

List of all members.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines