32 #include <rviz_rendering/objects/shape.hpp>
77 MeshShape(Ogre::SceneManager* scene_manager, Ogre::SceneNode* parent_node =
nullptr);
92 void addVertex(
const Ogre::Vector3& position);
100 void addVertex(
const Ogre::Vector3& position,
const Ogre::Vector3& normal);
108 void addVertex(
const Ogre::Vector3& position,
const Ogre::Vector3& normal,
const Ogre::ColourValue& color);
111 void addNormal(
const Ogre::Vector3& normal);
114 void addColor(
const Ogre::ColourValue& color);
117 void addTriangle(
unsigned int p1,
unsigned int p2,
unsigned int p3);
129 return manual_object_;
135 Ogre::ManualObject* manual_object_;
This class allows constructing Ogre shapes manually, from triangle lists.
void addColor(const Ogre::ColourValue &color)
Add color for a vertex.
void beginTriangles()
Start adding triangles to the mesh.
void addTriangle(unsigned int p1, unsigned int p2, unsigned int p3)
Add a triangle by indexing in the defined vertices.
void addVertex(const Ogre::Vector3 &position)
Add a vertex to the mesh (no normal defined). If using this function only (not using addTriangle()) i...
MeshShape(Ogre::SceneManager *scene_manager, Ogre::SceneNode *parent_node=nullptr)
Constructor.
void clear()
Clear the mesh.
void estimateVertexCount(size_t vcount)
void endTriangles()
Notify that the set of triangles to add is complete. No more triangles can be added,...
void addNormal(const Ogre::Vector3 &normal)
Add normal for a vertex.
Ogre::ManualObject * getManualObject()
Get the manual object created for the mesh.