All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
gazebo::common::MeshManager Class Reference

Maintains and manages all meshes. More...

#include <common/common.hh>

Inheritance diagram for gazebo::common::MeshManager:
Inheritance graph
[legend]
Collaboration diagram for gazebo::common::MeshManager:
Collaboration graph
[legend]

Public Member Functions

void AddMesh (Mesh *_mesh)
 Add a mesh to the manager. More...
 
void CreateBox (const std::string &_name, const math::Vector3 &_sides, const math::Vector2d &_uvCoords)
 Create a Box mesh. More...
 
void CreateCamera (const std::string &_name, float _scale)
 Create a Camera mesh. More...
 
void CreateCone (const std::string &_name, float _radius, float _height, int _rings, int _segments)
 Create a cone mesh. More...
 
void CreateCylinder (const std::string &_name, float _radius, float _height, int _rings, int _segments)
 Create a cylinder mesh. More...
 
void CreateExtrudedPolyline (const std::string &_name, const std::vector< math::Vector2d > &_vertices, const double &_height, const math::Vector2d &_uvCoords)
 Create a Extruded Polyline mesh. More...
 
void CreatePlane (const std::string &_name, const math::Plane &_plane, const math::Vector2d &_segments, const math::Vector2d &_uvTile)
 Create mesh for a plane. More...
 
void CreatePlane (const std::string &_name, const math::Vector3 &_normal, double _d, const math::Vector2d &_size, const math::Vector2d &_segments, const math::Vector2d &_uvTile)
 Create mesh for a plane. More...
 
void CreateSphere (const std::string &_name, float _radius, int _rings, int _segments)
 Create a sphere mesh. More...
 
void CreateTube (const std::string &_name, float _innerRadius, float _outterRadius, float _height, int _rings, int _segments)
 Create a tube mesh. More...
 
void Export (const Mesh *_mesh, const std::string &_filename, const std::string &_extension, bool _exportTextures=false)
 Export a mesh to a file. More...
 
void GenSphericalTexCoord (const Mesh *_mesh, math::Vector3 _center)
 generate spherical texture coordinates More...
 
const MeshGetMesh (const std::string &_name) const
 Get a mesh by name. More...
 
void GetMeshAABB (const Mesh *_mesh, math::Vector3 &_center, math::Vector3 &_min_xyz, math::Vector3 &_max_xyz)
 Get mesh aabb and center. More...
 
bool HasMesh (const std::string &_name) const
 Return true if the mesh exists. More...
 
bool IsValidFilename (const std::string &_filename)
 Checks a path extension against the list of valid extensions. More...
 
const MeshLoad (const std::string &_filename)
 Load a mesh from a file. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from SingletonT< MeshManager >
static MeshManager * Instance ()
 Get an instance of the singleton. More...
 
- Protected Member Functions inherited from SingletonT< MeshManager >
 SingletonT ()
 Constructor. More...
 
virtual ~SingletonT ()
 Destructor. More...
 

Detailed Description

Maintains and manages all meshes.

Member Function Documentation

void gazebo::common::MeshManager::AddMesh ( Mesh _mesh)

Add a mesh to the manager.

This MeshManager takes ownership of the mesh and will destroy it. See ~MeshManager.

Parameters
[in]themesh to add.
void gazebo::common::MeshManager::CreateBox ( const std::string &  _name,
const math::Vector3 _sides,
const math::Vector2d _uvCoords 
)

Create a Box mesh.

Parameters
[in]_namethe name of the new mesh
[in]_sidesthe x y x dimentions of eah side in meter
[in]_uvCoordsthe texture coordinates
void gazebo::common::MeshManager::CreateCamera ( const std::string &  _name,
float  _scale 
)

Create a Camera mesh.

Parameters
[in]_namename of the new mesh
[in]_scalescaling factor for the camera
void gazebo::common::MeshManager::CreateCone ( const std::string &  _name,
float  _radius,
float  _height,
int  _rings,
int  _segments 
)

Create a cone mesh.

Parameters
[in]_namethe name of the new mesh
[in]_radiusthe radius of the cylinder in the x y plane
[in]_heightthe height along z
[in]_ringsthe number of circles along the height
[in]_segmentsthe number of segment per circle
void gazebo::common::MeshManager::CreateCylinder ( const std::string &  _name,
float  _radius,
float  _height,
int  _rings,
int  _segments 
)

Create a cylinder mesh.

Parameters
[in]_namethe name of the new mesh
[in]_radiusthe radius of the cylinder in the x y plane
[in]_heightthe height along z
[in]_ringsthe number of circles along the height
[in]_segmentsthe number of segment per circle
void gazebo::common::MeshManager::CreateExtrudedPolyline ( const std::string &  _name,
const std::vector< math::Vector2d > &  _vertices,
const double &  _height,
const math::Vector2d _uvCoords 
)

Create a Extruded Polyline mesh.

Parameters
[in]_namethe name of the new mesh
[in]_verticesthe x y dimentions of eah vertex in meter
[in]_heightthe height of the polyline
[in]_uvCoordsthe texture coordinates
void gazebo::common::MeshManager::CreatePlane ( const std::string &  _name,
const math::Plane _plane,
const math::Vector2d _segments,
const math::Vector2d _uvTile 
)

Create mesh for a plane.

Parameters
[in]_name
[in]_planeplane parameters
[in]_segmentsnumber of segments in x and y
[in]_uvTilethe texture tile size in x and y
void gazebo::common::MeshManager::CreatePlane ( const std::string &  _name,
const math::Vector3 _normal,
double  _d,
const math::Vector2d _size,
const math::Vector2d _segments,
const math::Vector2d _uvTile 
)

Create mesh for a plane.

Parameters
[in]_namethe name of the new mesh
[in]_normalthe normal to the plane
[in]_ddistance from the origin along normal
[in]_sizethe size of the plane in x and y
[in]_segmentsthe number of segments in x and y
[in]_uvTilethe texture tile size in x and y
void gazebo::common::MeshManager::CreateSphere ( const std::string &  _name,
float  _radius,
int  _rings,
int  _segments 
)

Create a sphere mesh.

Parameters
[in]_namethe name of the mesh
[in]_radiusradius of the sphere in meter
[in]_ringsnumber of circles on th y axis
[in]_segmentsnumber of segment per circle
void gazebo::common::MeshManager::CreateTube ( const std::string &  _name,
float  _innerRadius,
float  _outterRadius,
float  _height,
int  _rings,
int  _segments 
)

Create a tube mesh.

Generates rings inside and outside the cylinder Needs at least two rings and 3 segments

Parameters
[in]_namethe name of the new mesh
[in]_innerRadiusthe inner radius of the tube in the x y plane
[in]_outterRadiusthe outer radius of the tube in the x y plane
[in]_heightthe height along z
[in]_ringsthe number of circles along the height
[in]_segmentsthe number of segment per circle
void gazebo::common::MeshManager::Export ( const Mesh _mesh,
const std::string &  _filename,
const std::string &  _extension,
bool  _exportTextures = false 
)

Export a mesh to a file.

Parameters
[in]_meshPointer to the mesh to be exported
[in]_filenameExported file's path and name
[in]_extensionExported file's format ("dae" for Collada)
[in]_exportTexturesTrue to export texture images to '../materials/textures' folder
void gazebo::common::MeshManager::GenSphericalTexCoord ( const Mesh _mesh,
math::Vector3  _center 
)

generate spherical texture coordinates

const Mesh* gazebo::common::MeshManager::GetMesh ( const std::string &  _name) const

Get a mesh by name.

Parameters
[in]_namethe name of the mesh to look for
Returns
the mesh or NULL if not found
void gazebo::common::MeshManager::GetMeshAABB ( const Mesh _mesh,
math::Vector3 _center,
math::Vector3 _min_xyz,
math::Vector3 _max_xyz 
)

Get mesh aabb and center.

Parameters
[in]_meshthe mesh
[out]_centerthe AAB center position
[out]_min_xyzthe bounding box minimum
[out]_max_xyzthe bounding box maximum
bool gazebo::common::MeshManager::HasMesh ( const std::string &  _name) const

Return true if the mesh exists.

Parameters
[in]_namethe name of the mesh
bool gazebo::common::MeshManager::IsValidFilename ( const std::string &  _filename)

Checks a path extension against the list of valid extensions.

Returns
true if the file extension is loadable
const Mesh* gazebo::common::MeshManager::Load ( const std::string &  _filename)

Load a mesh from a file.

Parameters
[in]_filenamethe path to the mesh
Returns
a pointer to the created mesh

The documentation for this class was generated from the following file: