##

SubMesh Class Reference
Common

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

## PrimitiveType

enum PrimitiveType

An enumeration of the geometric mesh primitives.

Enumerator
POINTS |
LINES |
LINESTRIPS |
TRIANGLES |
TRIFANS |
TRISTRIPS |

## Constructor & Destructor Documentation

## SubMesh() [1/2]

SubMesh | ( |  | ) |

Constructor.

## SubMesh() [2/2]

SubMesh | ( | const SubMesh * | _mesh | ) |

Copy Constructor.

## ~SubMesh()

virtual ~SubMesh | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## AddIndex()

void AddIndex | ( | unsigned int | _i | ) |

Add an index to the mesh.

Parameters

  [in] | _i | the new vertex index

## AddNodeAssignment()

void AddNodeAssignment | ( | unsigned int | _vertex,
|  | unsigned int | _node,
|  | float | _weight
| ) |  |

Add a vertex - skeleton node assignment.

Parameters

  [in] | _vertex | the vertex index
  [in] | _node | the node index
  [in] | _weight | the weight (between 0 and 1)

## AddNormal() [1/2]

void AddNormal | ( | const ignition::math::Vector3d & | _n | ) |

Add a normal to the mesh.

Parameters

  [in] | _n | the normal

## AddNormal() [2/2]

void AddNormal | ( | double | _x,
|  | double | _y,
|  | double | _z
| ) |  |

Add a normal to the mesh.

Parameters

  [in] | _x | position along x
  [in] | _y | position along y
  [in] | _z | position along z

## AddTexCoord()

void AddTexCoord | ( | double | _u,
|  | double | _v
| ) |  |

Add a texture coord to the mesh.

Parameters

  [in] | _u | position along u
  [in] | _v | position along v

## AddVertex() [1/2]

void AddVertex | ( | const ignition::math::Vector3d & | _v | ) |

Add a vertex to the mesh.

Parameters

  [in] | _v | the new position

## AddVertex() [2/2]

void AddVertex | ( | double | _x,
|  | double | _y,
|  | double | _z
| ) |  |

Add a vertex to the mesh.

Parameters

  [in] | _x | position along x
  [in] | _y | position along y
  [in] | _z | position along z

## Center()

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] | _center | Location of the mesh center.

## CopyNormals()

void CopyNormals | ( | const std::vector< ignition::math::Vector3d > & | _norms | ) |

Copy normals from a vector.

Parameters

  [in] | _norms | to copy from

## CopyVertices()

void CopyVertices | ( | const std::vector< ignition::math::Vector3d > & | _verts | ) |

Copy vertices from a vector.

Parameters

  [in] | _verts | the vertices to copy from

## FillArrays()

void FillArrays | ( | float ** | _vertArr,
|  | int ** | _indArr
| ) |  | const

Put all the data into flat arrays.

Parameters

  [in] | _verArr |
  [in] | _indArr |

## GenSphericalTexCoord()

void GenSphericalTexCoord | ( | const ignition::math::Vector3d & | _center | ) |

Generate texture coordinates using spherical projection from center.

Parameters

  [in] | _center |

## GetIndex()

unsigned int GetIndex | ( | unsigned int | _i | ) | const

Get an index.

Parameters

  [in] | _i |

## GetIndexCount()

unsigned int GetIndexCount | ( |  | ) | const

Return the number of indicies.

## GetMaterialIndex()

unsigned int GetMaterialIndex | ( |  | ) | const

Get the material index.

## GetMaxIndex()

unsigned int GetMaxIndex | ( |  | ) | const

Get the highest index value.

## GetName()

std::string GetName | ( |  | ) | const

Get the name of this mesh.

Returns
  the name

## GetNodeAssignment()

NodeAssignment GetNodeAssignment | ( | unsigned int | _i | ) | const

Get a vertex - skeleton node assignment.

Parameters

  [in] | _i | the index of the assignment

## GetNodeAssignmentsCount()

unsigned int GetNodeAssignmentsCount | ( |  | ) | const

Return the number of vertex - skeleton node assignments.

## GetNormalCount()

unsigned int GetNormalCount | ( |  | ) | const

Return the number of normals.

## GetPrimitiveType()

PrimitiveType GetPrimitiveType | ( |  | ) | const

Get the primitive type.

Returns
  the primitive type

## GetTexCoordCount()

unsigned int GetTexCoordCount | ( |  | ) | const

Return the number of texture coordinates.

## GetVertexCount()

unsigned int GetVertexCount | ( |  | ) | const

Return the number of vertices.

## GetVertexIndex()

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

Get the index of the vertex.

Parameters

  [in] | _v | Vertex to check

Returns
  Index of the vertex that matches _v.

## HasVertex()

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

## Max()

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

## Min()

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

## Normal()

ignition::math::Vector3d Normal | ( | unsigned int | _i | ) | const

Get a normal.

Parameters

  [in] | _i | the normal index

Returns
  the orientation of the normal, or throws an exception

## RecalculateNormals()

void RecalculateNormals | ( |  | ) |

Recalculate all the normals.

## Scale()

void Scale | ( | double | _factor | ) |

Scale all vertices by _factor.

Parameters

  [in] | _factor | Scaling factor

## SetIndexCount()

void SetIndexCount | ( | unsigned int | _count | ) |

Resize the index array.

Parameters

  [in] | _count | the new size of the array

## SetMaterialIndex()

void SetMaterialIndex | ( | unsigned int | _index | ) |

Set the material index.

Relates to the parent mesh material list

Parameters

  [in] | _index |

## SetName()

void SetName | ( | const std::string & | _n | ) |

Set the name of this mesh.

Parameters

  [in] | _n | the name to set

## SetNormal()

void SetNormal | ( | unsigned int | _i,
|  | const ignition::math::Vector3d & | _n
| ) |  |

Set a normal.

Parameters

  [in] | _i | the normal index
  [in] | _n | the normal direction

## SetNormalCount()

void SetNormalCount | ( | unsigned int | _count | ) |

Resize the normal array.

Parameters

  [in] | _count | the new size of the array

## SetPrimitiveType()

void SetPrimitiveType | ( | PrimitiveType | _type | ) |

Set the primitive type.

Parameters

  [in] | _type | the type

## SetScale()

void SetScale | ( | const ignition::math::Vector3d & | _factor | ) |

Scale all vertices by the _factor vector.

Parameters

  [in] | _factor | Scaling vector

## SetTexCoord()

void SetTexCoord | ( | unsigned int | _i,
|  | const ignition::math::Vector2d & | _t
| ) |  |

Set a tex coord.

Parameters

  [in] | _i |
  [in] | _t |

## SetTexCoordCount()

void SetTexCoordCount | ( | unsigned int | _count | ) |

Resize the texture coordinate array.

Parameters

  [in] | _count |

## SetVertex()

void SetVertex | ( | unsigned int | _i,
|  | const ignition::math::Vector3d & | _v
| ) |  |

Set a vertex.

Parameters

  [in] | _i | the index
  [in] | _v | the position

## SetVertexCount()

void SetVertexCount | ( | unsigned int | _count | ) |

Resize the vertex array.

Parameters

  [in] | _count | the new size of the array

## TexCoord()

ignition::math::Vector2d TexCoord | ( | unsigned int | _i | ) | const

Get a tex coord.

Parameters

  [in] | _i | the texture index

Returns
  the texture coordinates

## Translate()

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

Move all vertices by _vec.

Parameters

  [in] | _vec | Amount to translate vertices.

## Vertex()

ignition::math::Vector3d Vertex | ( | unsigned int | _i | ) | const

Get a vertex.

Parameters

  [in] | _i | the vertex index

Returns
  the position or throws an exception

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

- Mesh.hh