17 #ifndef GZ_COMMON_SUBMESH_HH_
18 #define GZ_COMMON_SUBMESH_HH_
25 #include <gz/math/Vector3.hh>
26 #include <gz/math/Vector2.hh>
28 #include <gz/utils/ImplPtr.hh>
31 #include <gz/common/graphics/Export.hh>
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);
137 unsigned int _setIndex);
144 unsigned int _setIndex);
151 const unsigned int _node,
152 const float _weight);
191 const unsigned int _index)
const;
202 unsigned int _setIndex)
const;
219 unsigned int _setIdex);
224 public:
int Index(
const unsigned int _index)
const;
236 const unsigned int _i);
245 const unsigned int _index)
const;
303 public:
unsigned int GZ_DEPRECATED(5) MaterialIndex() const;
308 public:
std::optional<
unsigned int> GetMaterialIndex() const;
320 public:
bool HasVertex(const
unsigned int _index) const;
327 public:
bool HasNormal(const
unsigned int _index) const;
339 public:
bool HasTexCoord(const
unsigned int _index) const;
347 public:
bool HasTexCoordBySet(
unsigned int _index,
unsigned int _setIndex)
355 public:
bool HasNodeAssignment(const
unsigned int _index) const;
360 public:
int IndexOfVertex(const
gz::math::
Vector3d &_v) const;
365 public:
void FillArrays(
double **_vertArr,
int **_indexndArr) const;
368 public:
void RecalculateNormals();
373 public:
void GenSphericalTexCoord(
380 public:
void GenSphericalTexCoordBySet(
382 unsigned int _setIndex);
390 public:
void Scale(const
double &_factor);
413 public:
double Volume() const;
416 GZ_UTILS_IMPL_PTR(dataPtr)