Go to the documentation of this file.
17 #ifndef IGNITION_COMMON_MESHMANAGER_HH_
18 #define IGNITION_COMMON_MESHMANAGER_HH_
26 #include <gz/math/Plane.hh>
27 #include <gz/math/Matrix3.hh>
28 #include <gz/math/Matrix4.hh>
29 #include <gz/math/Vector2.hh>
30 #include <gz/math/Vector3.hh>
31 #include <gz/math/Pose3.hh>
33 #include <ignition/utils/ImplPtr.hh>
35 #include <gz/common/config.hh>
38 #include <gz/common/graphics/Export.hh>
80 const std::string &_extension,
bool _exportTextures =
false);
84 public:
bool IsValidFilename(
const std::string &_filename);
91 public:
void MeshAABB(
const Mesh *_mesh,
99 public:
void GenSphericalTexCoord(
const Mesh *_mesh,
107 public:
void AddMesh(
Mesh *_mesh);
116 public:
void RemoveAll();
126 public:
bool HasMesh(
const std::string &_name)
const;
133 public:
void CreateSphere(
const std::string &_name,
const float _radius,
134 const int _rings,
const int _segments);
156 public:
void CreateExtrudedPolyline(
const std::string &_name,
158 &_vertices,
const double _height);
166 public:
void CreateCylinder(
const std::string &_name,
170 const int _segments);
177 public:
void CreateEllipsoid(
const std::string &_name,
179 const unsigned int _rings,
180 const unsigned int _segments);
188 public:
void CreateCapsule(
const std::string &_name,
191 const unsigned int _rings,
192 const unsigned int _segments);
204 const int _segments);
218 const float _innerRadius,
219 const float _outterRadius,
223 const double _arc = 2.0 *
IGN_PI);
256 private:
void Tesselate2DMesh(
SubMesh *_sm,
257 const int _meshWidth,
258 const int _meshHeight,
259 const bool _doubleSided);
264 public:
void CreateCamera(
const std::string &_name,
const float _scale);
273 const Mesh *_m2,
const int _operation,
283 private:
static void ConvertPolylinesToVerticesAndEdges(
297 private:
static size_t AddUniquePointToVerticesTable(
303 IGN_UTILS_UNIQUE_IMPL_PTR(dataPtr)
Forward declarations for the common classes.
Singleton template class.
Definition: gz/common/SingletonT.hh:29
static const Pose3< T > Zero
A 3D mesh.
Definition: gz/common/Mesh.hh:42
Maintains and manages all meshes.
Definition: gz/common/MeshManager.hh:50
A child mesh.
Definition: gz/common/SubMesh.hh:42