Tinman  1.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DynamicRenderable Class Referenceabstract

#include <physicsdebugdrawer.h>

Inheritance diagram for DynamicRenderable:
Inheritance graph
[legend]
Collaboration diagram for DynamicRenderable:
Collaboration graph
[legend]

Public Member Functions

 DynamicRenderable ()
 Constructor. More...
 
virtual ~DynamicRenderable ()
 Virtual destructor. More...
 
void initialize (Ogre::RenderOperation::OperationType operationType, bool useIndices)
 
virtual Ogre::Real getBoundingRadius (void) const
 Implementation of SimpleRenderable. More...
 
virtual Ogre::Real getSquaredViewDepth (const Ogre::Camera *cam) const
 Implementation of SimpleRenderable. More...
 

Protected Member Functions

virtual void createVertexDeclaration ()=0
 
void prepareHardwareBuffers (size_t vertexCount, size_t indexCount)
 
virtual void fillHardwareBuffers ()=0
 

Protected Attributes

size_t mVertexBufferCapacity
 Maximum capacity of the currently allocated vertex buffer. More...
 
size_t mIndexBufferCapacity
 Maximum capacity of the currently allocated index buffer. More...
 

Constructor & Destructor Documentation

DynamicRenderable::DynamicRenderable ( )

Constructor.

DynamicRenderable::~DynamicRenderable ( )
virtual

Virtual destructor.

Member Function Documentation

virtual void 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 DynamicLines.

virtual void 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 DynamicLines.

Ogre::Real DynamicRenderable::getBoundingRadius ( void  ) const
virtual

Implementation of SimpleRenderable.

Ogre::Real DynamicRenderable::getSquaredViewDepth ( const Ogre::Camera *  cam) const
virtual

Implementation of SimpleRenderable.

void DynamicRenderable::initialize ( Ogre::RenderOperation::OperationType  operationType,
bool  useIndices 
)

Initializes the dynamic renderable.

Remarks
This function should only be called once. It initializes the render operation, and calls the abstract function createVertexDeclaration().
Parameters
operationTypeThe type of render operation to perform.
useIndicesSpecifies whether to use indices to determine the vertices to use as input.
void 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
vertexCountThe number of vertices the buffer must hold.
indexCountThe number of indices the buffer must hold. This parameter is ignored if not using indices.

Member Data Documentation

size_t DynamicRenderable::mIndexBufferCapacity
protected

Maximum capacity of the currently allocated index buffer.

size_t DynamicRenderable::mVertexBufferCapacity
protected

Maximum capacity of the currently allocated vertex buffer.


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