SubMesh Class Reference

A child mesh. More...

#include <Mesh.hh>

Public Types

enum  PrimitiveType {
  POINTS, LINES, LINESTRIPS, TRIANGLES,
  TRIFANS, TRISTRIPS
}
 An enumeration of the geometric mesh primitives. More...
 

Public Member Functions

 SubMesh ()
 Constructor. More...
 
 SubMesh (const SubMesh *_mesh)
 Copy Constructor. More...
 
virtual ~SubMesh ()
 Destructor. More...
 
void AddIndex (unsigned int _i)
 Add an index to the mesh. More...
 
void AddNodeAssignment (unsigned int _vertex, unsigned int _node, float _weight)
 Add a vertex - skeleton node assignment. More...
 
void AddNormal (const ignition::math::Vector3d &_n)
 Add a normal to the mesh. More...
 
void AddNormal (double _x, double _y, double _z)
 Add a normal to the mesh. More...
 
void AddTexCoord (double _u, double _v)
 Add a texture coord to the mesh. More...
 
void AddVertex (const ignition::math::Vector3d &_v)
 Add a vertex to the mesh. More...
 
void AddVertex (double _x, double _y, double _z)
 Add a vertex to the mesh. More...
 
void Center (const ignition::math::Vector3d &_center=ignition::math::Vector3d::Zero)
 Move the center of the submesh to the given coordinate. More...
 
void CopyNormals (const std::vector< ignition::math::Vector3d > &_norms)
 Copy normals from a vector. More...
 
void CopyVertices (const std::vector< ignition::math::Vector3d > &_verts)
 Copy vertices from a vector. More...
 
void FillArrays (float **_vertArr, int **_indArr) const
 Put all the data into flat arrays. More...
 
void GenSphericalTexCoord (const ignition::math::Vector3d &_center)
 Generate texture coordinates using spherical projection from center. More...
 
unsigned int GetIndex (unsigned int _i) const
 Get an index. More...
 
unsigned int GetIndexCount () const
 Return the number of indicies. More...
 
unsigned int GetMaterialIndex () const
 Get the material index. More...
 
unsigned int GetMaxIndex () const
 Get the highest index value. More...
 
std::string GetName () const
 Get the name of this mesh. More...
 
NodeAssignment GetNodeAssignment (unsigned int _i) const
 Get a vertex - skeleton node assignment. More...
 
unsigned int GetNodeAssignmentsCount () const
 Return the number of vertex - skeleton node assignments. More...
 
unsigned int GetNormalCount () const
 Return the number of normals. More...
 
PrimitiveType GetPrimitiveType () const
 Get the primitive type. More...
 
unsigned int GetTexCoordCount () const
 Return the number of texture coordinates. More...
 
unsigned int GetVertexCount () const
 Return the number of vertices. More...
 
unsigned int GetVertexIndex (const ignition::math::Vector3d &_v) const
 Get the index of the vertex. More...
 
bool HasVertex (const ignition::math::Vector3d &_v) const
 Return true if this submesh has the vertex. More...
 
ignition::math::Vector3d Max () const
 Get the maximum X, Y, Z values from all the vertices. More...
 
ignition::math::Vector3d Min () const
 Get the minimum X, Y, Z values from all the vertices. More...
 
ignition::math::Vector3d Normal (unsigned int _i) const
 Get a normal. More...
 
void RecalculateNormals ()
 Recalculate all the normals. More...
 
void Scale (double _factor)
 Scale all vertices by _factor. More...
 
void SetIndexCount (unsigned int _count)
 Resize the index array. More...
 
void SetMaterialIndex (unsigned int _index)
 Set the material index. More...
 
void SetName (const std::string &_n)
 Set the name of this mesh. More...
 
void SetNormal (unsigned int _i, const ignition::math::Vector3d &_n)
 Set a normal. More...
 
void SetNormalCount (unsigned int _count)
 Resize the normal array. More...
 
void SetPrimitiveType (PrimitiveType _type)
 Set the primitive type. More...
 
void SetScale (const ignition::math::Vector3d &_factor)
 Scale all vertices by the _factor vector. More...
 
void SetTexCoord (unsigned int _i, const ignition::math::Vector2d &_t)
 Set a tex coord. More...
 
void SetTexCoordCount (unsigned int _count)
 Resize the texture coordinate array. More...
 
void SetVertex (unsigned int _i, const ignition::math::Vector3d &_v)
 Set a vertex. More...
 
void SetVertexCount (unsigned int _count)
 Resize the vertex array. More...
 
ignition::math::Vector2d TexCoord (unsigned int _i) const
 Get a tex coord. More...
 
void Translate (const ignition::math::Vector3d &_vec)
 Move all vertices by _vec. More...
 
ignition::math::Vector3d Vertex (unsigned int _i) const
 Get a vertex. More...
 

Detailed Description

A child mesh.

Member Enumeration Documentation

An enumeration of the geometric mesh primitives.

Enumerator
POINTS 
LINES 
LINESTRIPS 
TRIANGLES 
TRIFANS 
TRISTRIPS 

Constructor & Destructor Documentation

SubMesh ( )

Constructor.

SubMesh ( const SubMesh _mesh)

Copy Constructor.

virtual ~SubMesh ( )
virtual

Destructor.

Member Function Documentation

void AddIndex ( unsigned int  _i)

Add an index to the mesh.

Parameters
[in]_ithe new vertex index
void AddNodeAssignment ( unsigned int  _vertex,
unsigned int  _node,
float  _weight 
)

Add a vertex - skeleton node assignment.

Parameters
[in]_vertexthe vertex index
[in]_nodethe node index
[in]_weightthe weight (between 0 and 1)
void AddNormal ( const ignition::math::Vector3d &  _n)

Add a normal to the mesh.

Parameters
[in]_nthe normal
void AddNormal ( double  _x,
double  _y,
double  _z 
)

Add a normal to the mesh.

Parameters
[in]_xposition along x
[in]_yposition along y
[in]_zposition along z
void AddTexCoord ( double  _u,
double  _v 
)

Add a texture coord to the mesh.

Parameters
[in]_uposition along u
[in]_vposition along v
void AddVertex ( const ignition::math::Vector3d &  _v)

Add a vertex to the mesh.

Parameters
[in]_vthe new position
void AddVertex ( double  _x,
double  _y,
double  _z 
)

Add a vertex to the mesh.

Parameters
[in]_xposition along x
[in]_yposition along y
[in]_zposition along z
void Center ( const ignition::math::Vector3d &  _center = ignition::math::Vector3d::Zero)

Move the center of the submesh to the given coordinate.

This will move all the vertices.

Parameters
[in]_centerLocation of the mesh center.
void CopyNormals ( const std::vector< ignition::math::Vector3d > &  _norms)

Copy normals from a vector.

Parameters
[in]_normsto copy from
void CopyVertices ( const std::vector< ignition::math::Vector3d > &  _verts)

Copy vertices from a vector.

Parameters
[in]_vertsthe vertices to copy from
void FillArrays ( float **  _vertArr,
int **  _indArr 
) const

Put all the data into flat arrays.

Parameters
[in]_verArr
[in]_indArr
void GenSphericalTexCoord ( const ignition::math::Vector3d &  _center)

Generate texture coordinates using spherical projection from center.

Parameters
[in]_center
unsigned int GetIndex ( unsigned int  _i) const

Get an index.

Parameters
[in]_i
unsigned int GetIndexCount ( ) const

Return the number of indicies.

unsigned int GetMaterialIndex ( ) const

Get the material index.

unsigned int GetMaxIndex ( ) const

Get the highest index value.

std::string GetName ( ) const

Get the name of this mesh.

Returns
the name
NodeAssignment GetNodeAssignment ( unsigned int  _i) const

Get a vertex - skeleton node assignment.

Parameters
[in]_ithe index of the assignment
unsigned int GetNodeAssignmentsCount ( ) const

Return the number of vertex - skeleton node assignments.

unsigned int GetNormalCount ( ) const

Return the number of normals.

PrimitiveType GetPrimitiveType ( ) const

Get the primitive type.

Returns
the primitive type
unsigned int GetTexCoordCount ( ) const

Return the number of texture coordinates.

unsigned int GetVertexCount ( ) const

Return the number of vertices.

unsigned int GetVertexIndex ( const ignition::math::Vector3d &  _v) const

Get the index of the vertex.

Parameters
[in]_vVertex to check
Returns
Index of the vertex that matches _v.
bool HasVertex ( const ignition::math::Vector3d &  _v) const

Return true if this submesh has the vertex.

Parameters
[in]_v
Returns
Return true if this submesh has the vertex
ignition::math::Vector3d Max ( ) const

Get the maximum X, Y, Z values from all the vertices.

Returns
Max X,Y,Z values from all vertices in submesh
ignition::math::Vector3d Min ( ) const

Get the minimum X, Y, Z values from all the vertices.

Returns
Min X,Y,Z values from all vertices in submesh
ignition::math::Vector3d Normal ( unsigned int  _i) const

Get a normal.

Parameters
[in]_ithe normal index
Returns
the orientation of the normal, or throws an exception
void RecalculateNormals ( )

Recalculate all the normals.

void Scale ( double  _factor)

Scale all vertices by _factor.

Parameters
[in]_factorScaling factor
void SetIndexCount ( unsigned int  _count)

Resize the index array.

Parameters
[in]_countthe new size of the array
void SetMaterialIndex ( unsigned int  _index)

Set the material index.

Relates to the parent mesh material list

Parameters
[in]_index
void SetName ( const std::string &  _n)

Set the name of this mesh.

Parameters
[in]_nthe name to set
void SetNormal ( unsigned int  _i,
const ignition::math::Vector3d &  _n 
)

Set a normal.

Parameters
[in]_ithe normal index
[in]_nthe normal direction
void SetNormalCount ( unsigned int  _count)

Resize the normal array.

Parameters
[in]_countthe new size of the array
void SetPrimitiveType ( PrimitiveType  _type)

Set the primitive type.

Parameters
[in]_typethe type
void SetScale ( const ignition::math::Vector3d &  _factor)

Scale all vertices by the _factor vector.

Parameters
[in]_factorScaling vector
void SetTexCoord ( unsigned int  _i,
const ignition::math::Vector2d &  _t 
)

Set a tex coord.

Parameters
[in]_i
[in]_t
void SetTexCoordCount ( unsigned int  _count)

Resize the texture coordinate array.

Parameters
[in]_count
void SetVertex ( unsigned int  _i,
const ignition::math::Vector3d &  _v 
)

Set a vertex.

Parameters
[in]_ithe index
[in]_vthe position
void SetVertexCount ( unsigned int  _count)

Resize the vertex array.

Parameters
[in]_countthe new size of the array
ignition::math::Vector2d TexCoord ( unsigned int  _i) const

Get a tex coord.

Parameters
[in]_ithe texture index
Returns
the texture coordinates
void Translate ( const ignition::math::Vector3d &  _vec)

Move all vertices by _vec.

Parameters
[in]_vecAmount to translate vertices.
ignition::math::Vector3d Vertex ( unsigned int  _i) const

Get a vertex.

Parameters
[in]_ithe vertex index
Returns
the position or throws an exception

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