csTriangleMesh Class Reference
[Geometry utilities]
A mesh of triangles.
More...
#include <csgeom/trimesh.h>
Inheritance diagram for csTriangleMesh:

Public Member Functions | |
void | AddTriangle (int a, int b, int c) |
Add a triangle to the mesh. | |
void | AddVertex (const csVector3 &v) |
Add a vertex to the mesh. | |
void | Clear () |
Clear the mesh of triangles. | |
csTriangleMesh () | |
virtual uint32 | GetChangeNumber () const |
When this number changes you know the triangle mesh has changed (deformation has occured) since the last time you got another number from this function. | |
virtual csFlags & | GetFlags () |
Get flags for this triangle mesh. | |
csTriangle & | GetTriangle (int i) |
virtual size_t | GetTriangleCount () |
Query the number of triangles. | |
size_t | GetTriangleCount () const |
Query the number of triangles. | |
const csTriangle * | GetTriangles () const |
Query the array of triangles. | |
virtual csTriangle * | GetTriangles () |
Query the array of triangles. | |
size_t | GetVertexCount () const |
Get the number of vertices for this mesh. | |
virtual size_t | GetVertexCount () |
Get the number of vertices for this mesh. | |
const csVector3 * | GetVertices () const |
Get the pointer to the array of vertices. | |
virtual csVector3 * | GetVertices () |
Get the pointer to the array of vertices. | |
virtual void | Lock () |
Lock the triangle mesh. | |
void | SetSize (int count) |
Set the size of the triangle list. | |
void | SetTriangles (csTriangle const *trigs, int count) |
Set the triangle array. The array is copied. | |
virtual void | Unlock () |
Unlock the triangle mesh. | |
Protected Attributes | |
uint32 | change_nr |
csFlags | flags |
csDirtyAccessArray< csTriangle > | triangles |
The triangles. | |
csDirtyAccessArray< csVector3 > | vertices |
Detailed Description
A mesh of triangles.Note that a mesh of triangles is only valid if used in combination with a vertex or edge table. Every triangle is then a set of three indices in that table.
Definition at line 45 of file trimesh.h.
Member Function Documentation
void csTriangleMesh::AddTriangle | ( | int | a, | |
int | b, | |||
int | c | |||
) |
Add a triangle to the mesh.
void csTriangleMesh::AddVertex | ( | const csVector3 & | v | ) |
Add a vertex to the mesh.
void csTriangleMesh::Clear | ( | ) |
Clear the mesh of triangles.
virtual uint32 csTriangleMesh::GetChangeNumber | ( | ) | const [inline, virtual] |
When this number changes you know the triangle mesh has changed (deformation has occured) since the last time you got another number from this function.
Implements iTriangleMesh.
virtual csFlags& csTriangleMesh::GetFlags | ( | ) | [inline, virtual] |
Get flags for this triangle mesh.
This is zero or a combination of the following flags:
- CS_TRIMESH_CLOSED: mesh is closed.
- CS_TRIMESH_NOTCLOSED: mesh is not closed.
- CS_TRIMESH_CONVEX: mesh is convex.
- CS_TRIMESH_NOTCONVEX: mesh is not convex.
- CS_TRIMESH_DEFORMABLE: mesh is deformable.
Note that if neither CS_TRIMESH_CLOSED nor CS_TRIMESH_NOTCLOSED are set then the closed state is not known. Setting both is illegal. Note that if neither CS_TRIMESH_CONVEX nor CS_TRIMESH_NOTCONVEX are set then the convex state is not known. Setting both is illegal.
Implements iTriangleMesh.
virtual size_t csTriangleMesh::GetTriangleCount | ( | ) | [inline, virtual] |
size_t csTriangleMesh::GetTriangleCount | ( | ) | const [inline] |
const csTriangle* csTriangleMesh::GetTriangles | ( | ) | const [inline] |
virtual csTriangle* csTriangleMesh::GetTriangles | ( | ) | [inline, virtual] |
size_t csTriangleMesh::GetVertexCount | ( | ) | const [inline] |
virtual size_t csTriangleMesh::GetVertexCount | ( | ) | [inline, virtual] |
const csVector3* csTriangleMesh::GetVertices | ( | ) | const [inline] |
virtual csVector3* csTriangleMesh::GetVertices | ( | ) | [inline, virtual] |
virtual void csTriangleMesh::Lock | ( | ) | [inline, virtual] |
Lock the triangle mesh.
This prevents the triangle data from being cleaned up.
Implements iTriangleMesh.
void csTriangleMesh::SetSize | ( | int | count | ) |
Set the size of the triangle list.
void csTriangleMesh::SetTriangles | ( | csTriangle const * | trigs, | |
int | count | |||
) |
Set the triangle array. The array is copied.
virtual void csTriangleMesh::Unlock | ( | ) | [inline, virtual] |
Member Data Documentation
csDirtyAccessArray<csTriangle> csTriangleMesh::triangles [protected] |
The documentation for this class was generated from the following file:
- csgeom/trimesh.h
Generated for Crystal Space 1.2 by doxygen 1.4.7