Mesh Class Reference

#include <basic/geometry/Mesh.h>

Inherits ObjectBase.

Inherited by GL_Mesh.

Inheritance diagram for Mesh:

Inheritance graph
[legend]
Collaboration diagram for Mesh:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Mesh (FrameManager *frameManager)
 Mesh (const Mesh &right)
 Mesh (const IGS_MeshTri &right)
virtual ~Mesh ()
virtual bool CanCheckInterference (const Entity *entity) const
virtual EntityClone () const
virtual bool IsInterfering (const Entity *entity) const
void AddFacet (const Facet &facet)
void AddVertex (const Vector4 &vertex)
const FACETVECTORGetFacets () const
FACETVECTORGetFacets ()
const VECTOR4VECTORGetVertexes () const
VECTOR4VECTORGetVertexes ()
bool ReadFromIcollideFile (std::string fileName)
void SetCoordinates (const std::vector< Vector4 > &vertexes)
void TransformVerticies (const Matrix4x4 &transform)
void SetCoordinateEnumerations (const std::vector< std::vector< unsigned int > > &vertexes)
void AddToVcollide (VCollide &vcollide) const
virtual bool IsInterfering (const Mesh *entity) const
void Splice (const Mesh &mesh)
virtual void SetFrame (const Matrix4x4 &frame)
virtual bool IsInterfering (const MPK_Sphere *entity) const
virtual void Serialize (ostream &os) const
virtual void Deserialize (IfstreamWithComments &is)
bool Validate () const
virtual bool Verify () const
virtual int TotalPolys () const

Static Public Member Functions

static void ResetVcollide ()

Public Attributes

VECTOR4VECTOR vertexes
FACETVECTOR facets

Private Attributes

int vcollideIndex

Static Private Attributes

static int maxVcollideIndex = -1
static VCollide * vcollide = NULL
static int countInstances = 0

Detailed Description

Definition at line 25 of file Mesh.h.


Constructor & Destructor Documentation

Mesh::Mesh FrameManager frameManager  ) 
 

Definition at line 39 of file Mesh.cpp.

References countInstances.

Referenced by Clone().

Mesh::Mesh const Mesh right  ) 
 

Definition at line 52 of file Mesh.cpp.

References countInstances, facets, and vertexes.

Mesh::Mesh const IGS_MeshTri right  ) 
 

Definition at line 77 of file Mesh.cpp.

References AddVertex(), IGS_MeshBase::GetNumVertexes(), IGS_MeshBase::GetVertex(), and IJG_Assert.

Here is the call graph for this function:

Mesh::~Mesh  )  [virtual]
 

Definition at line 98 of file Mesh.cpp.

References countInstances, facets, vcollide, and vertexes.


Member Function Documentation

void Mesh::AddFacet const Facet facet  ) 
 

Definition at line 186 of file Mesh.cpp.

References Facet::vertexNumbers.

void Mesh::AddToVcollide VCollide &  vcollide  )  const
 

Definition at line 266 of file Mesh.cpp.

References facets, maxVcollideIndex, vcollideIndex, and vertexes.

Referenced by IsInterfering().

void Mesh::AddVertex const Vector4 vertex  ) 
 

Definition at line 198 of file Mesh.cpp.

References vertexes.

Referenced by calc_cube_facets(), and Mesh().

bool Mesh::CanCheckInterference const Entity entity  )  const [virtual]
 

Implements Entity.

Definition at line 115 of file Mesh.cpp.

Entity * Mesh::Clone  )  const [virtual]
 

Implements ObjectBase.

Reimplemented in GL_Mesh.

Definition at line 126 of file Mesh.cpp.

References Mesh().

Referenced by CD_Swiftpp::AddMeshToSwiftScene(), and CD_Vcollide::AddMeshToVcollide().

Here is the call graph for this function:

void Mesh::Deserialize IfstreamWithComments is  )  [virtual]
 

Reimplemented from ObjectBase.

Definition at line 500 of file Mesh.cpp.

References eatwhite(), IfstreamWithComments::getline(), and vertexes.

Referenced by ObjectBase::Deserialize().

Here is the call graph for this function:

FACETVECTOR & Mesh::GetFacets  ) 
 

Definition at line 157 of file Mesh.cpp.

References facets.

const FACETVECTOR & Mesh::GetFacets  )  const
 

Definition at line 165 of file Mesh.cpp.

References facets.

Referenced by CD_Vcollide::AddMeshToVcollide(), and calc_cube_facets().

VECTOR4VECTOR & Mesh::GetVertexes  ) 
 

Definition at line 173 of file Mesh.cpp.

References vertexes.

const VECTOR4VECTOR & Mesh::GetVertexes  )  const
 

Definition at line 181 of file Mesh.cpp.

References vertexes.

Referenced by Range_Sensor::AddMeshToDepthMap(), CD_Vcollide::AddMeshToVcollide(), calc_cube_facets(), and Octree_Data_Fuser::Convert().

bool Mesh::IsInterfering const MPK_Sphere entity  )  const [virtual]
 

Definition at line 432 of file Mesh.cpp.

References facets, MPK_Sphere::Position(), MPK_Sphere::Radius(), Sqr(), and vertexes.

Here is the call graph for this function:

bool Mesh::IsInterfering const Mesh entity  )  const [virtual]
 

Definition at line 321 of file Mesh.cpp.

References AddToVcollide(), Entity::GetTransform(), vcollide, and vcollideIndex.

Here is the call graph for this function:

bool Mesh::IsInterfering const Entity entity  )  const [virtual]
 

Implements ObjectBase.

Definition at line 133 of file Mesh.cpp.

bool Mesh::ReadFromIcollideFile std::string  fileName  ) 
 

Definition at line 205 of file Mesh.cpp.

void Mesh::ResetVcollide  )  [static]
 

Definition at line 389 of file Mesh.cpp.

References maxVcollideIndex, and vcollide.

Referenced by CD_Simple::CD_Simple().

void Mesh::Serialize ostream &  os  )  const [virtual]
 

Definition at line 475 of file Mesh.cpp.

References vertexes.

void Mesh::SetCoordinateEnumerations const std::vector< std::vector< unsigned int > > &  vertexes  ) 
 

Definition at line 238 of file Mesh.cpp.

References facets, vertexes, and Facet::vertexNumbers.

void Mesh::SetCoordinates const std::vector< Vector4 > &  vertexes  ) 
 

Definition at line 214 of file Mesh.cpp.

void Mesh::SetFrame const Matrix4x4 frame  )  [virtual]
 

Reimplemented from ObjectBase.

Definition at line 425 of file Mesh.cpp.

References TransformVerticies().

Here is the call graph for this function:

void Mesh::Splice const Mesh mesh  ) 
 

Definition at line 400 of file Mesh.cpp.

References vertexes.

int Mesh::TotalPolys  )  const [virtual]
 

Reimplemented from ObjectBase.

Definition at line 578 of file Mesh.cpp.

References facets.

void Mesh::TransformVerticies const Matrix4x4 transform  ) 
 

Definition at line 225 of file Mesh.cpp.

References vertexes.

Referenced by SetFrame().

bool Mesh::Validate  )  const
 

Definition at line 545 of file Mesh.cpp.

References vertexes.

Referenced by GL_Mesh::DrawExplicit().

bool Mesh::Verify  )  const [virtual]
 

Implements ObjectBase.

Definition at line 583 of file Mesh.cpp.


Member Data Documentation

int Mesh::countInstances = 0 [static, private]
 

Definition at line 67 of file Mesh.h.

Referenced by Mesh(), and ~Mesh().

FACETVECTOR Mesh::facets
 

Definition at line 59 of file Mesh.h.

Referenced by CD_Swiftpp::AddMeshToSwiftScene(), AddToVcollide(), GL_Mesh::ComputeNormals(), GL_Mesh::DrawExplicit(), GetFacets(), IsInterfering(), Mesh(), SetCoordinateEnumerations(), TotalPolys(), and ~Mesh().

int Mesh::maxVcollideIndex = -1 [static, private]
 

Definition at line 65 of file Mesh.h.

Referenced by AddToVcollide(), and ResetVcollide().

VCollide * Mesh::vcollide = NULL [static, private]
 

Definition at line 66 of file Mesh.h.

Referenced by IsInterfering(), ResetVcollide(), and ~Mesh().

int Mesh::vcollideIndex [mutable, private]
 

Definition at line 64 of file Mesh.h.

Referenced by AddToVcollide(), and IsInterfering().

VECTOR4VECTOR Mesh::vertexes
 

Definition at line 58 of file Mesh.h.

Referenced by CD_Swiftpp::AddMeshToSwiftScene(), AddToVcollide(), AddVertex(), GL_Mesh::ComputeNormals(), Deserialize(), GetVertexes(), IsInterfering(), Mesh(), Serialize(), SetCoordinateEnumerations(), Splice(), TransformVerticies(), Validate(), and ~Mesh().


The documentation for this class was generated from the following files:
Generated on Sat Apr 1 21:51:14 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO