PolygonalMesh Class Reference

#include <PolygonalMesh.h>

List of all members.


Detailed Description

This class provides a description of a mesh made of polygonal faces.

Its primary purpose is for loading geometry from files, which can then be used for visualization or collision detection. For example, the following lines load a mesh from a Wavefront OBJ file, then create a DecorativeMesh from it.

 PolygonalMesh mesh;
 std::ifstream file;
 file.open("teapot.obj");
 mesh.loadObjFile(file);
 file.close();
 DecorativeMesh decoration(mesh);
 

Public Member Functions

 PolygonalMesh ()
 Create a PolygonalMesh, which initially contains no vertices or faces.
 PolygonalMesh (const PolygonalMesh &copy)
PolygonalMeshoperator= (const PolygonalMesh &copy)
 ~PolygonalMesh ()
int getNumFaces () const
 Get the number of faces in the mesh.
int getNumVertices () const
 Get the number of vertices in the mesh.
const Vec3getVertexPosition (int vertex) const
 Get the position of a vertex in the mesh.
int getNumVerticesForFace (int face) const
 Get the number of vertices that make up a face.
int getFaceVertex (int face, int vertex) const
 Get the index of one of the vertices of a face.
int addVertex (const Vec3 &position)
 Add a vertex to the mesh.
int addFace (const std::vector< int > &vertices)
 Add a face to the mesh.
void scaleMesh (Real scale)
 Scale a mesh by multiplying every vertex by a fix value.
void transformMesh (const Transform &transform)
 Transform a mesh by applying a Transform to every vertex.
void loadObjFile (std::istream &file)
 Load a Wavefront OBJ file, adding the vertices and faces it contains to this mesh.
const PolygonalMeshImpl & getImpl () const
PolygonalMeshImpl & updImpl ()

Constructor & Destructor Documentation

PolygonalMesh (  ) 

Create a PolygonalMesh, which initially contains no vertices or faces.

PolygonalMesh ( const PolygonalMesh copy  ) 

~PolygonalMesh (  ) 


Member Function Documentation

PolygonalMesh& operator= ( const PolygonalMesh copy  ) 

int getNumFaces (  )  const

Get the number of faces in the mesh.

int getNumVertices (  )  const

Get the number of vertices in the mesh.

const Vec3& getVertexPosition ( int  vertex  )  const

Get the position of a vertex in the mesh.

Parameters:
vertex the index of the vertex to get
Returns:
the position of the specified vertex

int getNumVerticesForFace ( int  face  )  const

Get the number of vertices that make up a face.

Parameters:
face the index of the face

int getFaceVertex ( int  face,
int  vertex 
) const

Get the index of one of the vertices of a face.

Parameters:
face the index of the face
vertex the index of the vertex within the face (from 0, 1, or 2 for a triangular face, etc.)
Returns:
the index of the specified vertex

int addVertex ( const Vec3 position  ) 

Add a vertex to the mesh.

Parameters:
position the position of the vertex to add
Returns:
the index of the newly added vertex

int addFace ( const std::vector< int > &  vertices  ) 

Add a face to the mesh.

Parameters:
vertices the indices of the vertices which make up the new face
Returns:
the index of the newly added face

void scaleMesh ( Real  scale  ) 

Scale a mesh by multiplying every vertex by a fix value.

void transformMesh ( const Transform transform  ) 

Transform a mesh by applying a Transform to every vertex.

void loadObjFile ( std::istream &  file  ) 

Load a Wavefront OBJ file, adding the vertices and faces it contains to this mesh.

Parameters:
file an input stream from which to load the file contents

const PolygonalMeshImpl& getImpl (  )  const

PolygonalMeshImpl& updImpl (  ) 


The documentation for this class was generated from the following file:

Generated on Fri Sep 26 07:44:29 2008 for SimTKcore by  doxygen 1.5.6