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
