17 #ifndef IGNITION_COMMON_MESHMANAGER_HH_ 18 #define IGNITION_COMMON_MESHMANAGER_HH_ 33 #include <ignition/utils/ImplPtr.hh> 37 #include <ignition/common/graphics/Export.hh> 74 const std::string &_extension,
bool _exportTextures =
false);
78 public:
bool IsValidFilename(
const std::string &_filename);
85 public:
void MeshAABB(
const Mesh *_mesh,
93 public:
void GenSphericalTexCoord(
const Mesh *_mesh,
101 public:
void AddMesh(
Mesh *_mesh);
110 public:
void RemoveAll();
120 public:
bool HasMesh(
const std::string &_name)
const;
127 public:
void CreateSphere(
const std::string &_name,
const float _radius,
128 const int _rings,
const int _segments);
150 public:
void CreateExtrudedPolyline(
const std::string &_name,
152 &_vertices,
const double _height);
160 public:
void CreateCylinder(
const std::string &_name,
164 const int _segments);
171 public:
void CreateEllipsoid(
const std::string &_name,
173 const unsigned int _rings,
174 const unsigned int _segments);
182 public:
void CreateCapsule(
const std::string &_name,
185 const unsigned int _rings,
186 const unsigned int _segments);
198 const int _segments);
212 const float _innerRadius,
213 const float _outterRadius,
217 const double _arc = 2.0 *
IGN_PI);
250 private:
void Tesselate2DMesh(
SubMesh *_sm,
251 const int _meshWidth,
252 const int _meshHeight,
253 const bool _doubleSided);
258 public:
void CreateCamera(
const std::string &_name,
const float _scale);
267 const Mesh *_m2,
const int _operation,
277 private:
static void ConvertPolylinesToVerticesAndEdges(
291 private:
static size_t AddUniquePointToVerticesTable(
297 IGN_UTILS_UNIQUE_IMPL_PTR(dataPtr)
300 private:
friend class SingletonT<MeshManager>;
static const Pose3< T > Zero
A child mesh.
Definition: SubMesh.hh:41
Singleton template class.
Definition: SingletonT.hh:27
Forward declarations for the common classes.
Maintains and manages all meshes.
Definition: MeshManager.hh:49
A 3D mesh.
Definition: Mesh.hh:41