All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
gazebo::common::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.
 
virtual ~SubMesh ()
 Destructor.
 
void AddIndex (unsigned int _i)
 Add an index to the mesh.
 
void AddNodeAssignment (unsigned int _vertex, unsigned int _node, float _weight)
 Add a vertex - skeleton node assignment.
 
void AddNormal (const math::Vector3 &_n)
 Add a normal to the mesh.
 
void AddNormal (double _x, double _y, double _z)
 Add a normal to the mesh.
 
void AddTexCoord (double _u, double _v)
 Add a texture coord to the mesh.
 
void AddVertex (const math::Vector3 &_v)
 Add a vertex to the mesh.
 
void AddVertex (double _x, double _y, double _z)
 Add a vertex to the mesh.
 
void CopyNormals (const std::vector< math::Vector3 > &_norms)
 Copy normals from a vector.
 
void CopyVertices (const std::vector< math::Vector3 > &_verts)
 Copy vertices from a vector.
 
void FillArrays (float **_vertArr, int **_indArr) const
 Put all the data into flat arrays.
 
void GenSphericalTexCoord (const math::Vector3 &_center)
 Generate texture coordinates using spherical projection from center.
 
unsigned int GetIndex (unsigned int _i) const
 Get an index.
 
unsigned int GetIndexCount () const
 Return the number of indicies.
 
unsigned int GetMaterialIndex () const
 Get the material index.
 
math::Vector3 GetMax () const
 Get the maximun X, Y, Z values.
 
unsigned int GetMaxIndex () const
 Get the highest index value.
 
math::Vector3 GetMin () const
 Get the minimum X, Y, Z values.
 
NodeAssignment GetNodeAssignment (unsigned int _i) const
 Get a vertex - skeleton node assignment.
 
unsigned int GetNodeAssignmentsCount () const
 Return the number of vertex - skeleton node assignments.
 
math::Vector3 GetNormal (unsigned int _i) const
 Get a normal.
 
unsigned int GetNormalCount () const
 Return the number of normals.
 
PrimitiveType GetPrimitiveType () const
 Get the primitive type.
 
math::Vector2d GetTexCoord (unsigned int _i) const
 Get a tex coord.
 
unsigned int GetTexCoordCount () const
 Return the number of texture coordinates.
 
math::Vector3 GetVertex (unsigned int _i) const
 Get a vertex.
 
unsigned int GetVertexCount () const
 Return the number of vertices.
 
unsigned int GetVertexIndex (const math::Vector3 &_v) const
 Get the index of the vertex.
 
bool HasVertex (const math::Vector3 &_v) const
 Return true if this submesh has the vertex.
 
void RecalculateNormals ()
 Recalculate all the normals.
 
void Scale (double _factor)
 Scale all vertices by _factor.
 
void SetIndexCount (unsigned int _count)
 Resize the index array.
 
void SetMaterialIndex (unsigned int _index)
 Set the material index.
 
void SetNormal (unsigned int _i, const math::Vector3 &_n)
 Set a normal.
 
void SetNormalCount (unsigned int _count)
 Resize the normal array.
 
void SetPrimitiveType (PrimitiveType _type)
 Set the primitive type.
 
void SetSubMeshCenter (math::Vector3 _center)
 Reset mesh center to geometric center.
 
void SetTexCoord (unsigned int _i, const math::Vector2d &_t)
 Set a tex coord.
 
void SetTexCoordCount (unsigned int _count)
 Resize the texture coordinate array.
 
void SetVertex (unsigned int _i, const math::Vector3 &_v)
 Set a vertex.
 
void SetVertexCount (unsigned int _count)
 Resize the vertex array.
 

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

gazebo::common::SubMesh::SubMesh ( )

Constructor.

virtual gazebo::common::SubMesh::~SubMesh ( )
virtual

Destructor.

Member Function Documentation

void gazebo::common::SubMesh::AddIndex ( unsigned int  _i)

Add an index to the mesh.

Parameters
[in]_ithe new vertex index
void gazebo::common::SubMesh::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 gazebo::common::SubMesh::AddNormal ( const math::Vector3 _n)

Add a normal to the mesh.

Parameters
[in]_nthe normal
void gazebo::common::SubMesh::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 gazebo::common::SubMesh::AddTexCoord ( double  _u,
double  _v 
)

Add a texture coord to the mesh.

Parameters
[in]_uposition along u
[in]_vposition along v
void gazebo::common::SubMesh::AddVertex ( const math::Vector3 _v)

Add a vertex to the mesh.

Parameters
[in]_vthe new position
void gazebo::common::SubMesh::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 gazebo::common::SubMesh::CopyNormals ( const std::vector< math::Vector3 > &  _norms)

Copy normals from a vector.

Parameters
[in]_normsto copy from
void gazebo::common::SubMesh::CopyVertices ( const std::vector< math::Vector3 > &  _verts)

Copy vertices from a vector.

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

Put all the data into flat arrays.

Parameters
[in]_verArr
[in]_indArr
void gazebo::common::SubMesh::GenSphericalTexCoord ( const math::Vector3 _center)

Generate texture coordinates using spherical projection from center.

Parameters
[in]_center
unsigned int gazebo::common::SubMesh::GetIndex ( unsigned int  _i) const

Get an index.

Parameters
[in]_i
unsigned int gazebo::common::SubMesh::GetIndexCount ( ) const

Return the number of indicies.

unsigned int gazebo::common::SubMesh::GetMaterialIndex ( ) const

Get the material index.

math::Vector3 gazebo::common::SubMesh::GetMax ( ) const

Get the maximun X, Y, Z values.

Returns
unsigned int gazebo::common::SubMesh::GetMaxIndex ( ) const

Get the highest index value.

math::Vector3 gazebo::common::SubMesh::GetMin ( ) const

Get the minimum X, Y, Z values.

Returns
NodeAssignment gazebo::common::SubMesh::GetNodeAssignment ( unsigned int  _i) const

Get a vertex - skeleton node assignment.

Parameters
[in]_ithe index of the assignment
unsigned int gazebo::common::SubMesh::GetNodeAssignmentsCount ( ) const

Return the number of vertex - skeleton node assignments.

math::Vector3 gazebo::common::SubMesh::GetNormal ( unsigned int  _i) const

Get a normal.

Parameters
[in]_ithe normal index
Returns
the orientation of the normal, or throws an exception
unsigned int gazebo::common::SubMesh::GetNormalCount ( ) const

Return the number of normals.

PrimitiveType gazebo::common::SubMesh::GetPrimitiveType ( ) const

Get the primitive type.

Returns
the primitive type
math::Vector2d gazebo::common::SubMesh::GetTexCoord ( unsigned int  _i) const

Get a tex coord.

Parameters
[in]_ithe texture index
Returns
the texture coordinates
unsigned int gazebo::common::SubMesh::GetTexCoordCount ( ) const

Return the number of texture coordinates.

math::Vector3 gazebo::common::SubMesh::GetVertex ( unsigned int  _i) const

Get a vertex.

Parameters
[in]_ithe vertex index
Returns
the position or throws an exception
unsigned int gazebo::common::SubMesh::GetVertexCount ( ) const

Return the number of vertices.

unsigned int gazebo::common::SubMesh::GetVertexIndex ( const math::Vector3 _v) const

Get the index of the vertex.

Parameters
[in]_v
bool gazebo::common::SubMesh::HasVertex ( const math::Vector3 _v) const

Return true if this submesh has the vertex.

Parameters
[in]_v
void gazebo::common::SubMesh::RecalculateNormals ( )

Recalculate all the normals.

void gazebo::common::SubMesh::Scale ( double  _factor)

Scale all vertices by _factor.

Parameters
[in]_factorScaling factor
void gazebo::common::SubMesh::SetIndexCount ( unsigned int  _count)

Resize the index array.

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

Set the material index.

Relates to the parent mesh material list

Parameters
[in]_index
void gazebo::common::SubMesh::SetNormal ( unsigned int  _i,
const math::Vector3 _n 
)

Set a normal.

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

Resize the normal array.

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

Set the primitive type.

Parameters
[in]_typethe type
void gazebo::common::SubMesh::SetSubMeshCenter ( math::Vector3  _center)

Reset mesh center to geometric center.

Parameters
[in]_center
void gazebo::common::SubMesh::SetTexCoord ( unsigned int  _i,
const math::Vector2d _t 
)

Set a tex coord.

Parameters
[in]_i
[in]_t
void gazebo::common::SubMesh::SetTexCoordCount ( unsigned int  _count)

Resize the texture coordinate array.

Parameters
[in]_count
void gazebo::common::SubMesh::SetVertex ( unsigned int  _i,
const math::Vector3 _v 
)

Set a vertex.

Parameters
[in]_ithe index
[in]_vthe position
void gazebo::common::SubMesh::SetVertexCount ( unsigned int  _count)

Resize the vertex array.

Parameters
[in]_countthe new size of the array

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