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 Material * | GetMaterial (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... | |
Skeleton * | GetSkeleton () const |
Get the skeleton to which this mesh is attached. More... | |
const SubMesh * | GetSubMesh (unsigned int _i) const |
Get a child mesh. More... | |
const SubMesh * | GetSubMesh (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... | |
A 3D mesh.
Mesh | ( | ) |
Constructor.
|
virtual |
Destructor.
int AddMaterial | ( | Material * | _mat | ) |
Add a material to the mesh.
[in] | _mat | the material |
void AddSubMesh | ( | SubMesh * | _child | ) |
Add a submesh mesh.
The Mesh object takes ownership of the submesh.
[in] | _child | the 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.
[in] | _center | Location of the mesh center. |
void FillArrays | ( | float ** | _vertArr, |
int ** | _indArr | ||
) | const |
Put all the data into flat arrays.
[out] | _vertArr | the vertex array |
[out] | _indArr | the index array |
void GenSphericalTexCoord | ( | const ignition::math::Vector3d & | _center | ) |
Generate texture coordinates using spherical projection from center.
[in] | _center | the center of the projection |
void GetAABB | ( | ignition::math::Vector3d & | _center, |
ignition::math::Vector3d & | _minXYZ, | ||
ignition::math::Vector3d & | _maxXYZ | ||
) | const |
Get AABB coordinate.
[out] | _center | of the bounding box |
[out] | _minXYZ | bounding box minimum values |
[out] | _maxXYZ | bounding box maximum values |
unsigned int GetIndexCount | ( | ) | const |
Return the number of indices.
const Material* GetMaterial | ( | int | _index | ) | const |
Get a material.
[in] | _index | the index |
unsigned int GetMaterialCount | ( | ) | const |
Get the number of materials.
int GetMaterialIndex | ( | const Material * | _mat | ) | const |
Get the index of material.
[in] | _mat | the material |
std::string GetName | ( | ) | const |
Get the name of this mesh.
unsigned int GetNormalCount | ( | ) | const |
Return the number of normals.
std::string GetPath | ( | ) | const |
Get the path which contains the mesh resource.
Skeleton* GetSkeleton | ( | ) | const |
Get the skeleton to which this mesh is attached.
const SubMesh* GetSubMesh | ( | unsigned int | _i | ) | const |
Get a child mesh.
[in] | _i | the index |
const SubMesh* GetSubMesh | ( | const std::string & | _name | ) | const |
Get a child mesh by name.
[in] | _name | Name of the submesh. |
unsigned int GetSubMeshCount | ( | ) | const |
Get the number of children.
unsigned int GetTexCoordCount | ( | ) | const |
Return the number of texture coordinates.
unsigned int GetVertexCount | ( | ) | const |
Return the number of vertices.
bool HasSkeleton | ( | ) | const |
Return true if mesh is attached to a skeleton.
ignition::math::Vector3d Max | ( | ) | const |
Get the maximun X, Y, Z values.
ignition::math::Vector3d Min | ( | ) | const |
Get the minimum X, Y, Z values.
void RecalculateNormals | ( | ) |
Recalculate all the normals of each face defined by three indices.
void Scale | ( | double | _factor | ) |
Scale all vertices by _factor.
_factor | Scaling factor |
void SetName | ( | const std::string & | _n | ) |
Set the name of this mesh.
[in] | _n | the name to set |
void SetPath | ( | const std::string & | _path | ) |
Set the path which contains the mesh resource.
[in] | _path | the file path |
void SetScale | ( | const ignition::math::Vector3d & | _factor | ) |
Scale all vertices by the _factor vector.
[in] | _factor | Scaling vector |
void SetSkeleton | ( | Skeleton * | _skel | ) |
Set the mesh skeleton.
void Translate | ( | const ignition::math::Vector3d & | _vec | ) |
Move all vertices in all submeshes by _vec.
[in] | _vec | Amount to translate vertices. |