17 #ifndef IGNITION_COMMON_MESHMANAGER_HH_ 18 #define IGNITION_COMMON_MESHMANAGER_HH_ 35 #include <ignition/common/graphics/Export.hh> 45 class MeshManagerPrivate;
72 const std::string &_extension,
bool _exportTextures =
false);
76 public:
bool IsValidFilename(
const std::string &_filename);
83 public:
void MeshAABB(
const Mesh *_mesh,
91 public:
void GenSphericalTexCoord(
const Mesh *_mesh,
99 public:
void AddMesh(
Mesh *_mesh);
109 public:
bool HasMesh(
const std::string &_name)
const;
116 public:
void CreateSphere(
const std::string &_name,
const float _radius,
117 const int _rings,
const int _segments);
139 public:
void CreateExtrudedPolyline(
const std::string &_name,
141 &_vertices,
const double _height);
149 public:
void CreateCylinder(
const std::string &_name,
153 const int _segments);
165 const int _segments);
179 const float _innerRadius,
180 const float _outterRadius,
184 const double _arc = 2.0 *
IGN_PI);
217 private:
void Tesselate2DMesh(
SubMesh *_sm,
218 const int _meshWidth,
219 const int _meshHeight,
220 const bool _doubleSided);
225 public:
void CreateCamera(
const std::string &_name,
const float _scale);
234 const Mesh *_m2,
const int _operation,
244 private:
static void ConvertPolylinesToVerticesAndEdges(
258 private:
static size_t AddUniquePointToVerticesTable(
#define IGN_COMMON_WARN_RESUME__DLL_INTERFACE_MISSING
Definition: SuppressWarning.hh:67
static const Pose3< T > Zero
A child mesh.
Definition: SubMesh.hh:40
Singleton template class.
Definition: SingletonT.hh:27
Forward declarations for the common classes.
Maintains and manages all meshes.
Definition: MeshManager.hh:49
#define IGN_COMMON_WARN_IGNORE__DLL_INTERFACE_MISSING
Microsoft Visual Studio does not automatically export the interface information for member variables ...
Definition: SuppressWarning.hh:64
A 3D mesh.
Definition: Mesh.hh:41