Main MRPT website > C++ reference
MRPT logo

mrpt::opengl Namespace Reference

The namespace for 3D scene representation and rendering. More...

Namespaces

namespace  stock_objects
 

A collection of pre-built 3D objects for quick insertion in opengl::COpenGLScene objects.


Classes

class  CAngularObservationMesh
 A mesh built from a set of 2D laser scan observations. More...
class  CPlanarLaserScan
 This object renders a 2D laser scan by means of three elements: the points, the line along end-points and the 2D scanned surface. More...
class  C3DSScene
 This element keeps a set of objects imported from a 3DStudio file (.3ds). More...
class  CArrow
 A 3D arrow. More...
class  CAxis
 Draw a 3D world axis, with coordinate marks at some regular interval. More...
class  CBox
 A solid or wireframe box in 3D, defined by 6 rectangular faces parallel to the planes X, Y and Z (note that the object can be translated and rotated afterwards as any other CRenderizable object using the "object pose" in the base class). More...
class  CCamera
 A camera: if added to a scene, the viewpoint defined by this camera will be used instead of the camera parameters set in COpenGLViewport::m_camera. More...
class  CCylinder
 A cylinder or cone whose base lies in the XY plane. More...
class  CDisk
 A planar disk in the XY plane. More...
class  CEllipsoid
 A 2D ellipse or 3D ellipsoid, depending on the size of the m_cov matrix (2x2 or 3x3). More...
class  CFBORender
 A class for rendering 3D scenes off-screen directly into an image using OpenGL extensions (glext). More...
class  CGeneralizedCylinder
 This object represents any figure obtained by extruding any profile along a given axis. More...
class  CGridPlaneXY
 A grid of lines over the XY plane. More...
class  CGridPlaneXZ
 A grid of lines over the XZ plane. More...
class  CMesh
 A set of connected colored triangles. More...
class  COpenGLScene
 This class allows the user to create, load, save, and render 3D scenes using OpenGL primitives. More...
class  COpenGLStandardObject
 Objects of this class represent a generic openGL object without specific geometric properties. More...
class  COpenGLViewport
 A viewport within a COpenGLScene, containing a set of OpenGL objects to render. More...
class  CPointCloud
 A cloud of points, all with the same color or each depending on its value along a particular coordinate axis. More...
class  CPointCloudColoured
 A cloud of points, each one with an individual colour (R,G,B). More...
class  CPolyhedron
 This class represents arbitrary polyhedra. More...
class  CRenderizable
 The base class of 3D objects that can be directly rendered through OpenGL. More...
class  CSetOfLines
 A set of independent lines (or segments), one line with its own start and end positions (X,Y,Z). More...
class  CSetOfObjects
 A set of object, which are referenced to the coordinates framework established in this object. More...
class  CSetOfTexturedTriangles
 A set of textured triangles. More...
class  CSetOfTriangles
 A set of colored triangles. More...
class  CSimpleLine
 A line segment. More...
class  CSphere
 A solid or wire-frame sphere. More...
class  CText
 A 2D text (bitmap rendering): it always "faces the observer" despite it's at some 3D location. More...
class  CTexturedObject
 A base class for all OpenGL objects with loadable textures. More...
class  CTexturedPlane
 A 2D plane in the XY plane with a texture image. More...

Typedefs

typedef uint32_t _GLENUM
typedef std::deque
< CRenderizablePtr > 
CListOpenGLObjects
 A list of objects pointers, automatically managing memory free at destructor, and managing copies correctly.

Enumerations

enum  TOpenGLFont {
  MRPT_GLUT_BITMAP_TIMES_ROMAN_10 = 0, MRPT_GLUT_BITMAP_TIMES_ROMAN_24 = 1, MRPT_GLUT_BITMAP_HELVETICA_10 = 2, MRPT_GLUT_BITMAP_HELVETICA_12 = 3,
  MRPT_GLUT_BITMAP_HELVETICA_18 = 4
}
 

Existing fonts for 2D texts in mrpt::opengl methods.

More...

Functions

template<class PDFOBJ , class SETOFOBJSPTR >
SETOFOBJSPTR posePDF2opengl (const PDFOBJ &o)
COpenGLScenePtr & operator<< (COpenGLScenePtr &s, const CRenderizablePtr &r)
 Inserts an openGL object into a scene.
template<class T >
COpenGLScenePtr & operator<< (COpenGLScenePtr &s, const std::vector< T > &v)
 Inserts any iterable collection of openGL objects into a scene, allowing call chaining.
COpenGLViewportPtr & operator<< (COpenGLViewportPtr &s, const CRenderizablePtr &r)
 Inserts an openGL object into a viewport.
COpenGLViewportPtr & operator<< (COpenGLViewportPtr &s, const std::vector< CRenderizablePtr > &v)
 Inserts any iterable set of openGL objects into a viewport.
OPENGL_IMPEXP
mrpt::utils::CStream
operator>> (mrpt::utils::CStream &in, CPointCloudColoured::TPointColour &o)
OPENGL_IMPEXP
mrpt::utils::CStream
operator<< (mrpt::utils::CStream &out, const CPointCloudColoured::TPointColour &o)
OPENGL_IMPEXP
mrpt::utils::CStream
operator>> (mrpt::utils::CStream &in, CPolyhedron::TPolyhedronEdge &o)
 Reads a polyhedron edge from a binary stream.
OPENGL_IMPEXP
mrpt::utils::CStream
operator<< (mrpt::utils::CStream &out, const CPolyhedron::TPolyhedronEdge &o)
 Writes a polyhedron edge to a binary stream.
OPENGL_IMPEXP
mrpt::utils::CStream
operator>> (mrpt::utils::CStream &in, CPolyhedron::TPolyhedronFace &o)
 Reads a polyhedron face from a binary stream.
OPENGL_IMPEXP
mrpt::utils::CStream
operator<< (mrpt::utils::CStream &out, const CPolyhedron::TPolyhedronFace &o)
 Writes a polyhedron face to a binary stream.
OPENGL_IMPEXP CRenderizablePtr & operator<< (CRenderizablePtr &r, const mrpt::poses::CPose3D &p)
 Applies a CPose3D transformation to the object.
template<class T >
CSetOfLinesPtr & operator<< (CSetOfLinesPtr &l, const T &s)
 Inserts a set of segments into the list.
template<>
CSetOfLinesPtr & operator<< (CSetOfLinesPtr &l, const mrpt::math::TSegment3D &s)
 Inserts a segment into the list.
CSetOfObjectsPtr & operator<< (CSetOfObjectsPtr &s, const CRenderizablePtr &r)
 Inserts an object into the list.
template<class T >
CSetOfObjectsPtr & operator<< (CSetOfObjectsPtr &o, const std::vector< T > &v)
 Inserts a set of objects into the list.
template<class T >
CSetOfTrianglesPtr & operator<< (CSetOfTrianglesPtr &s, const T &t)
 Inserts a set of triangles into the list; note that this method allows to pass another CSetOfTriangles as argument.
template<>
CSetOfTrianglesPtr & operator<< (CSetOfTrianglesPtr &s, const CSetOfTriangles::TTriangle &t)
 Inserts a triangle into the list.
A set of functions to obtain a 3D representation of a pose PDF (these functions are in the mrpt-opengl library)



template<>
CSetOfObjectsPtr OPENGL_IMPEXP posePDF2opengl< CPosePDF, CSetOfObjectsPtr > (const CPosePDF &o)
 Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPosePDF::getAs3DObject.
template<>
CSetOfObjectsPtr OPENGL_IMPEXP posePDF2opengl< CPointPDF, CSetOfObjectsPtr > (const CPointPDF &o)
 Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPointPDF::getAs3DObject.
template<>
CSetOfObjectsPtr OPENGL_IMPEXP posePDF2opengl< CPose3DPDF, CSetOfObjectsPtr > (const CPose3DPDF &o)
 Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPose3DPDF::getAs3DObject.
template<>
CSetOfObjectsPtr OPENGL_IMPEXP posePDF2opengl< CPose3DQuatPDF, CSetOfObjectsPtr > (const CPose3DQuatPDF &o)
 Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPose3DQuatPDF::getAs3DObject.

Variables

class OPENGL_IMPEXP C3DSScene
class OPENGL_IMPEXP CArrow
class OPENGL_IMPEXP CAxis
class OPENGL_IMPEXP CCylinder
class OPENGL_IMPEXP CDisk
class OPENGL_IMPEXP CEllipsoid
class OPENGL_IMPEXP CGeneralizedCylinder
class OPENGL_IMPEXP CGridPlaneXY
class OPENGL_IMPEXP CGridPlaneXZ
class OPENGL_IMPEXP CMesh
class OPENGL_IMPEXP COpenGLStandardObject
class OPENGL_IMPEXP CPointCloud
class OPENGL_IMPEXP CPointCloudColoured
class OPENGL_IMPEXP CPolyhedron
class OPENGL_IMPEXP CSetOfLines
class OPENGL_IMPEXP CSetOfObjects
class OPENGL_IMPEXP CSetOfTexturedTriangles
class OPENGL_IMPEXP CSetOfTriangles
class OPENGL_IMPEXP CSimpleLine
class OPENGL_IMPEXP CSphere
class OPENGL_IMPEXP CText
class OPENGL_IMPEXP CTexturedObject
class OPENGL_IMPEXP CTexturedPlane

Detailed Description

The namespace for 3D scene representation and rendering.


Typedef Documentation

typedef uint32_t mrpt::opengl::_GLENUM

Definition at line 38 of file COpenGLStandardObject.h.

typedef std::deque<CRenderizablePtr> mrpt::opengl::CListOpenGLObjects

A list of objects pointers, automatically managing memory free at destructor, and managing copies correctly.

Definition at line 41 of file CSetOfObjects.h.


Enumeration Type Documentation

Existing fonts for 2D texts in mrpt::opengl methods.

See also:
mrpt::opengl::CMyGLCanvasBase::renderTextBitmap
Enumerator:
MRPT_GLUT_BITMAP_TIMES_ROMAN_10 
MRPT_GLUT_BITMAP_TIMES_ROMAN_24 
MRPT_GLUT_BITMAP_HELVETICA_10 
MRPT_GLUT_BITMAP_HELVETICA_12 
MRPT_GLUT_BITMAP_HELVETICA_18 

Definition at line 40 of file opengl_fonts.h.


Function Documentation

template<>
CSetOfTrianglesPtr& mrpt::opengl::operator<< ( CSetOfTrianglesPtr &  s,
const CSetOfTriangles::TTriangle &  t 
) [inline]

Inserts a triangle into the list.

Allows call chaining.

See also:
mrpt::opengl::CSetOfTriangles::insertTriangle

Definition at line 233 of file CSetOfTriangles.h.

template<class T >
CSetOfTrianglesPtr& mrpt::opengl::operator<< ( CSetOfTrianglesPtr &  s,
const T &  t 
) [inline]

Inserts a set of triangles into the list; note that this method allows to pass another CSetOfTriangles as argument.

Allows call chaining.

See also:
mrpt::opengl::CSetOfTriangles::insertTriangle

Definition at line 226 of file CSetOfTriangles.h.

template<class T >
CSetOfObjectsPtr& mrpt::opengl::operator<< ( CSetOfObjectsPtr &  o,
const std::vector< T > &  v 
) [inline]

Inserts a set of objects into the list.

Allows call chaining.

See also:
mrpt::opengl::CSetOfObjects::insert

Definition at line 183 of file CSetOfObjects.h.

CSetOfObjectsPtr& mrpt::opengl::operator<< ( CSetOfObjectsPtr &  s,
const CRenderizablePtr &  r 
) [inline]

Inserts an object into the list.

Allows call chaining.

See also:
mrpt::opengl::CSetOfObjects::insert

Definition at line 176 of file CSetOfObjects.h.

template<>
CSetOfLinesPtr& mrpt::opengl::operator<< ( CSetOfLinesPtr &  l,
const mrpt::math::TSegment3D s 
) [inline]

Inserts a segment into the list.

Allows call chaining.

See also:
mrpt::opengl::CSetOfLines::appendLine(const TSegment &)

Definition at line 212 of file CSetOfLines.h.

template<class T >
CSetOfLinesPtr& mrpt::opengl::operator<< ( CSetOfLinesPtr &  l,
const T &  s 
) [inline]

Inserts a set of segments into the list.

Allows call chaining.

See also:
mrpt::opengl::CSetOfLines::appendLines

Definition at line 205 of file CSetOfLines.h.

OPENGL_IMPEXP CRenderizablePtr& mrpt::opengl::operator<< ( CRenderizablePtr &  r,
const mrpt::poses::CPose3D p 
)

Applies a CPose3D transformation to the object.

Note that this method doesn't set the pose to the given value, but combines it with the existing one.

See also:
setPose
OPENGL_IMPEXP mrpt::utils::CStream& mrpt::opengl::operator<< ( mrpt::utils::CStream out,
const CPolyhedron::TPolyhedronFace &  o 
)

Writes a polyhedron face to a binary stream.

OPENGL_IMPEXP mrpt::utils::CStream& mrpt::opengl::operator<< ( mrpt::utils::CStream out,
const CPolyhedron::TPolyhedronEdge &  o 
)

Writes a polyhedron edge to a binary stream.

OPENGL_IMPEXP mrpt::utils::CStream& mrpt::opengl::operator<< ( mrpt::utils::CStream out,
const CPointCloudColoured::TPointColour &  o 
)
COpenGLViewportPtr& mrpt::opengl::operator<< ( COpenGLViewportPtr &  s,
const std::vector< CRenderizablePtr > &  v 
) [inline]

Inserts any iterable set of openGL objects into a viewport.

Allows call chaining.

See also:
mrpt::opengl::COpenGLViewport::insert

Definition at line 287 of file COpenGLViewport.h.

COpenGLViewportPtr& mrpt::opengl::operator<< ( COpenGLViewportPtr &  s,
const CRenderizablePtr &  r 
) [inline]

Inserts an openGL object into a viewport.

Allows call chaining.

See also:
mrpt::opengl::COpenGLViewport::insert

Definition at line 279 of file COpenGLViewport.h.

template<class T >
COpenGLScenePtr& mrpt::opengl::operator<< ( COpenGLScenePtr &  s,
const std::vector< T > &  v 
) [inline]

Inserts any iterable collection of openGL objects into a scene, allowing call chaining.

See also:
mrpt::opengl::COpenGLScene::insert

Definition at line 212 of file COpenGLScene.h.

COpenGLScenePtr& mrpt::opengl::operator<< ( COpenGLScenePtr &  s,
const CRenderizablePtr &  r 
) [inline]

Inserts an openGL object into a scene.

Allows call chaining.

See also:
mrpt::opengl::COpenGLScene::insert

Definition at line 204 of file COpenGLScene.h.

OPENGL_IMPEXP mrpt::utils::CStream& mrpt::opengl::operator>> ( mrpt::utils::CStream in,
CPolyhedron::TPolyhedronFace &  o 
)

Reads a polyhedron face from a binary stream.

OPENGL_IMPEXP mrpt::utils::CStream& mrpt::opengl::operator>> ( mrpt::utils::CStream in,
CPolyhedron::TPolyhedronEdge &  o 
)

Reads a polyhedron edge from a binary stream.

OPENGL_IMPEXP mrpt::utils::CStream& mrpt::opengl::operator>> ( mrpt::utils::CStream in,
CPointCloudColoured::TPointColour &  o 
)
template<class PDFOBJ , class SETOFOBJSPTR >
SETOFOBJSPTR mrpt::opengl::posePDF2opengl ( const PDFOBJ &  o  )  [inline]
template<>
CSetOfObjectsPtr OPENGL_IMPEXP mrpt::opengl::posePDF2opengl< CPointPDF, CSetOfObjectsPtr > ( const CPointPDF &  o  )  [inline]

Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPointPDF::getAs3DObject.

template<>
CSetOfObjectsPtr OPENGL_IMPEXP mrpt::opengl::posePDF2opengl< CPose3DPDF, CSetOfObjectsPtr > ( const CPose3DPDF &  o  )  [inline]

Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPose3DPDF::getAs3DObject.

template<>
CSetOfObjectsPtr OPENGL_IMPEXP mrpt::opengl::posePDF2opengl< CPose3DQuatPDF, CSetOfObjectsPtr > ( const CPose3DQuatPDF &  o  )  [inline]

Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPose3DQuatPDF::getAs3DObject.

template<>
CSetOfObjectsPtr OPENGL_IMPEXP mrpt::opengl::posePDF2opengl< CPosePDF, CSetOfObjectsPtr > ( const CPosePDF &  o  )  [inline]

Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call mrpt::poses::CPosePDF::getAs3DObject.


Variable Documentation

class OPENGL_IMPEXP mrpt::opengl::C3DSScene

Definition at line 39 of file C3DSScene.h.

class OPENGL_IMPEXP mrpt::opengl::CArrow

Definition at line 37 of file CArrow.h.

Referenced by mrpt::opengl::CArrow::Create().

class OPENGL_IMPEXP mrpt::opengl::CAxis

Definition at line 37 of file CAxis.h.

Referenced by mrpt::opengl::CAxis::Create().

class OPENGL_IMPEXP mrpt::opengl::CCylinder

Definition at line 35 of file CCylinder.h.

Referenced by mrpt::opengl::CCylinder::Create().

class OPENGL_IMPEXP mrpt::opengl::CDisk

Definition at line 39 of file CDisk.h.

Referenced by mrpt::opengl::CDisk::Create().

class OPENGL_IMPEXP mrpt::opengl::CEllipsoid

Definition at line 38 of file CEllipsoid.h.

Definition at line 40 of file CGeneralizedCylinder.h.

Referenced by mrpt::opengl::CGeneralizedCylinder::Create().

class OPENGL_IMPEXP mrpt::opengl::CGridPlaneXY

Definition at line 38 of file CGridPlaneXY.h.

Referenced by mrpt::opengl::CGridPlaneXY::Create().

class OPENGL_IMPEXP mrpt::opengl::CGridPlaneXZ

Definition at line 38 of file CGridPlaneXZ.h.

Referenced by mrpt::opengl::CGridPlaneXZ::Create().

class OPENGL_IMPEXP mrpt::opengl::CMesh

Definition at line 42 of file CMesh.h.

Referenced by mrpt::opengl::CMesh::Create().

Definition at line 41 of file COpenGLStandardObject.h.

Referenced by mrpt::opengl::COpenGLStandardObject::Create().

class OPENGL_IMPEXP mrpt::opengl::CPointCloud

Definition at line 39 of file CPointCloud.h.

class OPENGL_IMPEXP mrpt::opengl::CPointCloudColoured

Definition at line 40 of file CPointCloudColoured.h.

class OPENGL_IMPEXP mrpt::opengl::CPolyhedron
class OPENGL_IMPEXP mrpt::opengl::CSetOfLines

Definition at line 42 of file CSetOfLines.h.

Referenced by mrpt::opengl::CSetOfLines::Create().

class OPENGL_IMPEXP mrpt::opengl::CSetOfObjects

Definition at line 37 of file CSetOfObjects.h.

Definition at line 37 of file CSetOfTexturedTriangles.h.

class OPENGL_IMPEXP mrpt::opengl::CSetOfTriangles

Definition at line 38 of file CSetOfTriangles.h.

class OPENGL_IMPEXP mrpt::opengl::CSimpleLine

Definition at line 37 of file CSimpleLine.h.

class OPENGL_IMPEXP mrpt::opengl::CSphere

Definition at line 37 of file CSphere.h.

Referenced by mrpt::opengl::CSphere::Create().

class OPENGL_IMPEXP mrpt::opengl::CText

Definition at line 38 of file CText.h.

class OPENGL_IMPEXP mrpt::opengl::CTexturedObject

Definition at line 39 of file CTexturedObject.h.

class OPENGL_IMPEXP mrpt::opengl::CTexturedPlane

Definition at line 37 of file CTexturedPlane.h.

Referenced by mrpt::opengl::CTexturedPlane::Create().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



Page generated by Doxygen 1.6.1 for MRPT 0.9.0 SVN: at Mon Jun 7 06:47:58 UTC 2010