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);
111 public:
bool HasMesh(
const std::string &_name)
const;
118 public:
void CreateSphere(
const std::string &_name,
const float _radius,
119 const int _rings,
const int _segments);
141 public:
void CreateExtrudedPolyline(
const std::string &_name,
143 &_vertices,
const double _height);
151 public:
void CreateCylinder(
const std::string &_name,
155 const int _segments);
162 public:
void CreateEllipsoid(
const std::string &_name,
164 const unsigned int _rings,
165 const unsigned int _segments);
173 public:
void CreateCapsule(
const std::string &_name,
176 const unsigned int _rings,
177 const unsigned int _segments);
189 const int _segments);
203 const float _innerRadius,
204 const float _outterRadius,
208 const double _arc = 2.0 *
IGN_PI);
241 private:
void Tesselate2DMesh(
SubMesh *_sm,
242 const int _meshWidth,
243 const int _meshHeight,
244 const bool _doubleSided);
249 public:
void CreateCamera(
const std::string &_name,
const float _scale);
258 const Mesh *_m2,
const int _operation,
268 private:
static void ConvertPolylinesToVerticesAndEdges(
282 private:
static size_t AddUniquePointToVerticesTable(
288 IGN_UTILS_UNIQUE_IMPL_PTR(dataPtr)
291 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