17 #ifndef IGNITION_COMMON_MESHMANAGER_HH_ 18 #define IGNITION_COMMON_MESHMANAGER_HH_ 35 #include <ignition/common/graphics/Export.hh> 45 class MeshManagerPrivate;
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);
167 const int _segments);
181 const float _innerRadius,
182 const float _outterRadius,
186 const double _arc = 2.0 *
IGN_PI);
219 private:
void Tesselate2DMesh(
SubMesh *_sm,
220 const int _meshWidth,
221 const int _meshHeight,
222 const bool _doubleSided);
227 public:
void CreateCamera(
const std::string &_name,
const float _scale);
236 const Mesh *_m2,
const int _operation,
246 private:
static void ConvertPolylinesToVerticesAndEdges(
260 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