Mesh Class Reference

A 3D mesh. More...

#include <common/common.hh>

Public Member Functions

 Mesh ()
 Constructor. More...
 
virtual ~Mesh ()
 Destructor. More...
 
int AddMaterial (Material *_mat)
 Add a material to the mesh. More...
 
void AddSubMesh (SubMesh *_child)
 Add a submesh mesh. More...
 
void Center (const ignition::math::Vector3d &_center=ignition::math::Vector3d::Zero)
 Move the center of the mesh to the given coordinate. 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...
 
void GetAABB (ignition::math::Vector3d &_center, ignition::math::Vector3d &_minXYZ, ignition::math::Vector3d &_maxXYZ) const
 Get AABB coordinate. More...
 
unsigned int GetIndexCount () const
 Return the number of indices. More...
 
const MaterialGetMaterial (int _index) const
 Get a material. More...
 
unsigned int GetMaterialCount () const
 Get the number of materials. More...
 
int GetMaterialIndex (const Material *_mat) const
 Get the index of material. More...
 
std::string GetName () const
 Get the name of this mesh. More...
 
unsigned int GetNormalCount () const
 Return the number of normals. More...
 
std::string GetPath () const
 Get the path which contains the mesh resource. More...
 
SkeletonGetSkeleton () const
 Get the skeleton to which this mesh is attached. More...
 
const SubMeshGetSubMesh (unsigned int _i) const
 Get a child mesh. More...
 
const SubMeshGetSubMesh (const std::string &_name) const
 Get a child mesh by name. More...
 
unsigned int GetSubMeshCount () const
 Get the number of children. More...
 
unsigned int GetTexCoordCount () const
 Return the number of texture coordinates. More...
 
unsigned int GetVertexCount () const
 Return the number of vertices. More...
 
bool HasSkeleton () const
 Return true if mesh is attached to a skeleton. More...
 
ignition::math::Vector3d Max () const
 Get the maximun X, Y, Z values. More...
 
ignition::math::Vector3d Min () const
 Get the minimum X, Y, Z values. More...
 
void RecalculateNormals ()
 Recalculate all the normals of each face defined by three indices. More...
 
void Scale (double _factor)
 Scale all vertices by _factor. More...
 
void SetName (const std::string &_n)
 Set the name of this mesh. More...
 
void SetPath (const std::string &_path)
 Set the path which contains the mesh resource. More...
 
void SetScale (const ignition::math::Vector3d &_factor)
 Scale all vertices by the _factor vector. More...
 
void SetSkeleton (Skeleton *_skel)
 Set the mesh skeleton. More...
 
void Translate (const ignition::math::Vector3d &_vec)
 Move all vertices in all submeshes by _vec. More...
 

Detailed Description

A 3D mesh.

Constructor & Destructor Documentation

Mesh ( )

Constructor.

virtual ~Mesh ( )
virtual

Destructor.

Member Function Documentation

int AddMaterial ( Material _mat)

Add a material to the mesh.

Parameters
[in]_matthe material
Returns
Index of this material
void AddSubMesh ( SubMesh _child)

Add a submesh mesh.

The Mesh object takes ownership of the submesh.

Parameters
[in]_childthe submesh
void Center ( const ignition::math::Vector3d &  _center = ignition::math::Vector3d::Zero)

Move the center of the mesh to the given coordinate.

This will move all the vertices in all submeshes.

Parameters
[in]_centerLocation of the mesh center.
void FillArrays ( float **  _vertArr,
int **  _indArr 
) const

Put all the data into flat arrays.

Parameters
[out]_vertArrthe vertex array
[out]_indArrthe index array
void GenSphericalTexCoord ( const ignition::math::Vector3d &  _center)

Generate texture coordinates using spherical projection from center.

Parameters
[in]_centerthe center of the projection
void GetAABB ( ignition::math::Vector3d &  _center,
ignition::math::Vector3d &  _minXYZ,
ignition::math::Vector3d &  _maxXYZ 
) const

Get AABB coordinate.

Parameters
[out]_centerof the bounding box
[out]_minXYZbounding box minimum values
[out]_maxXYZbounding box maximum values
unsigned int GetIndexCount ( ) const

Return the number of indices.

Returns
the count
const Material* GetMaterial ( int  _index) const

Get a material.

Parameters
[in]_indexthe index
Returns
the material or nullptr if the index is out of bounds
unsigned int GetMaterialCount ( ) const

Get the number of materials.

Returns
the count
int GetMaterialIndex ( const Material _mat) const

Get the index of material.

Parameters
[in]_matthe material
Returns
the index of the material or -1 if not found.
std::string GetName ( ) const

Get the name of this mesh.

Returns
the name
unsigned int GetNormalCount ( ) const

Return the number of normals.

Returns
the count
std::string GetPath ( ) const

Get the path which contains the mesh resource.

Returns
the path to the mesh resource
Skeleton* GetSkeleton ( ) const

Get the skeleton to which this mesh is attached.

Returns
pointer to skeleton, or nullptr if none is present.
const SubMesh* GetSubMesh ( unsigned int  _i) const

Get a child mesh.

Parameters
[in]_ithe index
Returns
the submesh. An exception is thrown if the index is out of bounds
const SubMesh* GetSubMesh ( const std::string &  _name) const

Get a child mesh by name.

Parameters
[in]_nameName of the submesh.
Returns
The submesh, nullptr if the _name is not found.
unsigned int GetSubMeshCount ( ) const

Get the number of children.

Returns
the count
unsigned int GetTexCoordCount ( ) const

Return the number of texture coordinates.

Returns
the count
unsigned int GetVertexCount ( ) const

Return the number of vertices.

Returns
the count
bool HasSkeleton ( ) const

Return true if mesh is attached to a skeleton.

ignition::math::Vector3d Max ( ) const

Get the maximun X, Y, Z values.

Returns
the upper bounds of the bounding box
ignition::math::Vector3d Min ( ) const

Get the minimum X, Y, Z values.

Returns
the lower bounds of the bounding box
void RecalculateNormals ( )

Recalculate all the normals of each face defined by three indices.

void Scale ( double  _factor)

Scale all vertices by _factor.

Parameters
_factorScaling factor
void SetName ( const std::string &  _n)

Set the name of this mesh.

Parameters
[in]_nthe name to set
void SetPath ( const std::string &  _path)

Set the path which contains the mesh resource.

Parameters
[in]_paththe file path
void SetScale ( const ignition::math::Vector3d &  _factor)

Scale all vertices by the _factor vector.

Parameters
[in]_factorScaling vector
void SetSkeleton ( Skeleton _skel)

Set the mesh skeleton.

void Translate ( const ignition::math::Vector3d &  _vec)

Move all vertices in all submeshes by _vec.

Parameters
[in]_vecAmount to translate vertices.

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