moab
moab::BSPTreePoly::Edge Struct Reference

List of all members.

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 55 of file BSPTreePoly.cpp.


Constructor & Destructor Documentation

moab::BSPTreePoly::Edge::Edge ( Vertex vstart,
Vertex vend 
) [inline]

Definition at line 63 of file BSPTreePoly.cpp.

    : forwardPtr(0), reversePtr(0)
#ifdef DEBUG_IDS
  , id(nextID++)
#endif  
  {
    startPtr = new VertexUse( this, vstart );
    endPtr = new VertexUse( this, vend );
  }

Definition at line 312 of file BSPTreePoly.cpp.

{
  delete startPtr;
  delete endPtr;
  delete forwardPtr;
  delete reversePtr;
}

Member Function Documentation

Definition at line 106 of file BSPTreePoly.cpp.

    { return start() == eother->start() || start() == eother->end() ? start() :
               end() == eother->start() ||   end() == eother->end() ?   end() : 0; }

Definition at line 77 of file BSPTreePoly.cpp.

    { return endPtr->vtxPtr; }

Definition at line 80 of file BSPTreePoly.cpp.

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

Definition at line 87 of file BSPTreePoly.cpp.

    { return use(about)->nextPtr->edgePtr; }

Definition at line 94 of file BSPTreePoly.cpp.

    { return use(about)->nextPtr->edgePtr; }

Definition at line 99 of file BSPTreePoly.cpp.

    { return vuse == startPtr ? endPtr : vuse == endPtr ? startPtr : 0; }

Definition at line 101 of file BSPTreePoly.cpp.

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

Definition at line 103 of file BSPTreePoly.cpp.

    { return vtx == startPtr->vtxPtr ?   endPtr->vtxPtr :
             vtx ==   endPtr->vtxPtr ? startPtr->vtxPtr : 0; }

Definition at line 89 of file BSPTreePoly.cpp.

    { return use(about)->prevPtr->edgePtr; }

Definition at line 96 of file BSPTreePoly.cpp.

    { return use(about)->prevPtr->edgePtr; }

Definition at line 82 of file BSPTreePoly.cpp.

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

Definition at line 320 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 75 of file BSPTreePoly.cpp.

    { return startPtr->vtxPtr; }

Definition at line 85 of file BSPTreePoly.cpp.

    { return (vtx == startPtr->vtxPtr) ? startPtr : (vtx == endPtr->vtxPtr) ? endPtr : 0; }

Definition at line 92 of file BSPTreePoly.cpp.

    { return (face == forwardPtr->facePtr) ? forwardPtr : (face == reversePtr->facePtr) ? reversePtr : 0; }

Member Data Documentation


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