All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gazebo::rendering::DynamicRenderable Class Referenceabstract

Abstract base class providing mechanisms for dynamically growing hardware buffers. More...

#include <rendering/rendering.hh>

Inheritance diagram for gazebo::rendering::DynamicRenderable:
Inheritance graph
[legend]

Public Member Functions

 DynamicRenderable ()
 Constructor.
 
virtual ~DynamicRenderable ()
 Virtual destructor.
 
virtual Ogre::Real getBoundingRadius () const
 Implementation of Ogre::SimpleRenderable.
 
RenderOpType GetOperationType () const
 Get the render operation type.
 
virtual Ogre::Real getSquaredViewDepth (const Ogre::Camera *_cam) const
 Implementation of Ogre::SimpleRenderable.
 
void Init (RenderOpType _opType, bool _useIndices=false)
 Initializes the dynamic renderable.
 
void SetOperationType (RenderOpType _opType)
 Set the render operation type.
 

Protected Member Functions

virtual void CreateVertexDeclaration ()=0
 Creates the vertex declaration.
 
virtual void FillHardwareBuffers ()=0
 Fills the hardware vertex and index buffers with data.
 
void PrepareHardwareBuffers (size_t _vertexCount, size_t _indexCount)
 Prepares the hardware buffers for the requested vertex and index counts.
 

Protected Attributes

size_t indexBufferCapacity
 Maximum capacity of the currently allocated index buffer.
 
size_t vertexBufferCapacity
 Maximum capacity of the currently allocated vertex buffer.
 

Detailed Description

Abstract base class providing mechanisms for dynamically growing hardware buffers.

Constructor & Destructor Documentation

gazebo::rendering::DynamicRenderable::DynamicRenderable ( )

Constructor.

virtual gazebo::rendering::DynamicRenderable::~DynamicRenderable ( )
virtual

Virtual destructor.

Member Function Documentation

virtual void gazebo::rendering::DynamicRenderable::CreateVertexDeclaration ( )
protectedpure virtual

Creates the vertex declaration.

Remarks
Override and set mRenderOp.vertexData->vertexDeclaration here. mRenderOp.vertexData will be created for you before this method is called.

Implemented in gazebo::rendering::DynamicLines.

virtual void gazebo::rendering::DynamicRenderable::FillHardwareBuffers ( )
protectedpure virtual

Fills the hardware vertex and index buffers with data.

Remarks
This function must call prepareHardwareBuffers() before locking the buffers to ensure the they are large enough for the data to be written. Afterwards the vertex and index buffers (if using indices) can be locked, and data can be written to them.

Implemented in gazebo::rendering::DynamicLines.

virtual Ogre::Real gazebo::rendering::DynamicRenderable::getBoundingRadius ( ) const
virtual

Implementation of Ogre::SimpleRenderable.

Returns
The bounding radius
RenderOpType gazebo::rendering::DynamicRenderable::GetOperationType ( ) const

Get the render operation type.

Returns
The render operation type.
virtual Ogre::Real gazebo::rendering::DynamicRenderable::getSquaredViewDepth ( const Ogre::Camera *  _cam) const
virtual

Implementation of Ogre::SimpleRenderable.

Parameters
[in]_camPointer to the Ogre camera that views the renderable.
Returns
The squared depth in the Camera's view
void gazebo::rendering::DynamicRenderable::Init ( RenderOpType  _opType,
bool  _useIndices = false 
)

Initializes the dynamic renderable.

Remarks
This function should only be called once. It initializes the render operation, and calls the abstract function CreateVertexDeclaration().
Parameters
[in]_opTypeThe type of render operation to perform.
[in]_useIndicesSpecifies whether to use indices to determine the vertices to use as input.
void gazebo::rendering::DynamicRenderable::PrepareHardwareBuffers ( size_t  _vertexCount,
size_t  _indexCount 
)
protected

Prepares the hardware buffers for the requested vertex and index counts.

Remarks
This function must be called before locking the buffers in fillHardwareBuffers(). It guarantees that the hardware buffers are large enough to hold at least the requested number of vertices and indices (if using indices). The buffers are possibly reallocated to achieve this.
The vertex and index count in the render operation are set to
the values of vertexCount and indexCount respectively.
Parameters
[in]_vertexCountThe number of vertices the buffer must hold.
[in]_indexCountThe number of indices the buffer must hold. This parameter is ignored if not using indices.
void gazebo::rendering::DynamicRenderable::SetOperationType ( RenderOpType  _opType)

Set the render operation type.

Parameters
[in]_opTypeThe type of render operation to perform.

Member Data Documentation

size_t gazebo::rendering::DynamicRenderable::indexBufferCapacity
protected

Maximum capacity of the currently allocated index buffer.

size_t gazebo::rendering::DynamicRenderable::vertexBufferCapacity
protected

Maximum capacity of the currently allocated vertex buffer.


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