17 #ifndef GZ_COMMON_SUBMESH_HH_
18 #define GZ_COMMON_SUBMESH_HH_
24 #include <gz/math/Vector3.hh>
25 #include <gz/math/Vector2.hh>
27 #include <gz/utils/ImplPtr.hh>
30 #include <gz/common/graphics/Export.hh>
92 public:
void AddIndex(
const unsigned int _index);
102 public:
void AddVertex(
const double _x,
const double _y,
const double _z);
112 public:
void AddNormal(
const double _x,
const double _y,
const double _z);
136 unsigned int _setIndex);
143 unsigned int _setIndex);
150 const unsigned int _node,
151 const float _weight);
190 const unsigned int _index)
const;
201 unsigned int _setIndex)
const;
218 unsigned int _setIdex);
223 public:
int Index(
const unsigned int _index)
const;
235 const unsigned int _i);
244 const unsigned int _index)
const;
302 public:
unsigned int GZ_DEPRECATED(5) MaterialIndex() const;
307 public:
std::optional<
unsigned int> GetMaterialIndex() const;
319 public:
bool HasVertex(const
unsigned int _index) const;
326 public:
bool HasNormal(const
unsigned int _index) const;
338 public:
bool HasTexCoord(const
unsigned int _index) const;
346 public:
bool HasTexCoordBySet(
unsigned int _index,
unsigned int _setIndex)
354 public:
bool HasNodeAssignment(const
unsigned int _index) const;
359 public:
int IndexOfVertex(const
gz::math::
Vector3d &_v) const;
364 public:
void FillArrays(
double **_vertArr,
int **_indexndArr) const;
367 public:
void RecalculateNormals();
372 public:
void GenSphericalTexCoord(
379 public:
void GenSphericalTexCoordBySet(
381 unsigned int _setIndex);
389 public:
void Scale(const
double &_factor);
412 public:
double Volume() const;
415 GZ_UTILS_IMPL_PTR(dataPtr)