17 #ifndef IGNITION_COMMON_SUBMESH_HH_ 18 #define IGNITION_COMMON_SUBMESH_HH_ 27 #include <ignition/utils/ImplPtr.hh> 30 #include <ignition/common/graphics/Export.hh> 41 class IGNITION_COMMON_GRAPHICS_VISIBLE
SubMesh 93 public:
void AddIndex(
const unsigned int _index);
103 public:
void AddVertex(
const double _x,
const double _y,
const double _z);
113 public:
void AddNormal(
const double _x,
const double _y,
const double _z);
122 public:
void AddTexCoord(
const double _u,
const double _v);
136 public:
void AddTexCoordBySet(
double _u,
double _v,
137 unsigned int _setIndex);
144 unsigned int _setIndex);
150 public:
void AddNodeAssignment(
const unsigned int _vertex,
151 const unsigned int _node,
152 const float _weight);
163 public:
void SetVertex(
const unsigned int _index,
176 public:
void SetNormal(
const unsigned int _index,
185 const unsigned int _index)
const;
196 unsigned int _setIndex)
const;
204 public:
void SetTexCoord(
const unsigned int _index,
211 public:
void SetTexCoordBySet(
unsigned int _index,
213 unsigned int _setIdex);
218 public:
int Index(
const unsigned int _index)
const;
223 public:
void SetIndex(
const unsigned int _index,
224 const unsigned int _i);
233 const unsigned int _index)
const;
245 public:
unsigned int VertexCount()
const;
249 public:
unsigned int NormalCount()
const;
253 public:
unsigned int IndexCount()
const;
262 public:
unsigned int TexCoordCount()
const;
268 public:
unsigned int TexCoordCountBySet(
unsigned int _setIndex)
const;
272 public:
unsigned int TexCoordSetCount()
const;
276 public:
unsigned int NodeAssignmentsCount()
const;
280 public:
unsigned int MaxIndex()
const;
285 public:
void SetMaterialIndex(
const unsigned int _index);
289 public:
unsigned int MaterialIndex()
const;
301 public:
bool HasVertex(
const unsigned int _index)
const;
308 public:
bool HasNormal(
const unsigned int _index)
const;
320 public:
bool HasTexCoord(
const unsigned int _index)
const;
328 public:
bool HasTexCoordBySet(
unsigned int _index,
unsigned int _setIndex)
336 public:
bool HasNodeAssignment(
const unsigned int _index)
const;
346 public:
void FillArrays(
double **_vertArr,
int **_indexndArr)
const;
349 public:
void RecalculateNormals();
354 public:
void GenSphericalTexCoord(
361 public:
void GenSphericalTexCoordBySet(
363 unsigned int _setIndex);
371 public:
void Scale(
const double &_factor);
394 public:
double Volume()
const;
397 IGN_UTILS_IMPL_PTR(dataPtr)
unsigned int nodeIndex
Node (or bone) index.
Definition: SubMesh.hh:411
Connected lines. 2 vertices for the first line and every vertex specified afterwards creates a new li...
Definition: SubMesh.hh:52
Line. 2 vertices per line.
Definition: SubMesh.hh:49
float weight
The weight (between 0 and 1). This determines how much the node (bone) affects the vertex in animatio...
Definition: SubMesh.hh:415
Point. 1 vertex per point.
Definition: SubMesh.hh:47
PrimitiveType
An enumeration of the geometric mesh primitives.
Definition: SubMesh.hh:44
A child mesh.
Definition: SubMesh.hh:41
unsigned int vertexIndex
Index of the vertex.
Definition: SubMesh.hh:408
Connected triangle in fan shape. 3 vertices for the first triangle and every vertex specified afterwa...
Definition: SubMesh.hh:58
static const Vector3 Zero
Forward declarations for the common classes.
Vertex to node weighted assignement for skeleton animation visualization.
Definition: SubMesh.hh:402
Triangle type. 3 vertices per triangle.
Definition: SubMesh.hh:54