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 Entity * Clone () const
virtual bool IsInterfering (const Entity *entity) const
void AddFacet (const Facet &facet)
void AddVertex (const Vector4 &vertex)
const FACETVECTOR & GetFacets () const
FACETVECTOR & GetFacets ()
const VECTOR4VECTOR & GetVertexes () const
VECTOR4VECTOR & GetVertexes ()
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