Go to the documentation of this file.
32 #ifndef _BillboardChain_H__
33 #define _BillboardChain_H__
117 bool useTextureCoords =
true,
bool useColours =
true,
bool dynamic =
true);
123 virtual void setMaxChainElements(
size_t maxElements);
130 virtual void setNumberOfChains(
size_t numChains);
142 virtual void setUseTextureCoords(
bool use);
162 virtual void setTextureCoordDirection(TexCoordDirection dir);
173 virtual void setOtherTextureCoordRange(
Real start,
Real end);
185 virtual void setUseVertexColours(
bool use);
194 virtual void setDynamic(
bool dyn);
209 virtual void addChainElement(
size_t chainIndex,
210 const Element& billboardChainElement);
214 virtual void removeChainElement(
size_t chainIndex);
221 virtual void updateChainElement(
size_t chainIndex,
size_t elementIndex,
222 const Element& billboardChainElement);
228 virtual const Element& getChainElement(
size_t chainIndex,
size_t elementIndex)
const;
231 virtual size_t getNumChainElements(
size_t chainIndex)
const;
234 virtual void clearChain(
size_t chainIndex);
236 virtual void clearAllChains(
void);
263 Real getSquaredViewDepth(
const Camera* cam)
const;
264 Real getBoundingRadius(
void)
const;
267 const String& getMovableType(
void)
const;
271 void getWorldTransforms(
Matrix4 *)
const;
275 bool debugRenderables =
false);
349 virtual void setupChainContainers(
void);
351 virtual void setupVertexDeclaration(
void);
353 virtual void setupBuffers(
void);
355 virtual void updateVertexBuffer(
Camera* cam);
357 virtual void updateIndexBuffer(
void);
358 virtual void updateBoundingBox(
void)
const;
376 const String& getType(
void)
const;
ElementList mChainElementList
The list holding the chain elements.
size_t mChainCount
Number of chains.
Defines the functionality of a 3D API.
bool mFaceCamera
When true, the billboards always face the camera.
vector< Element >::type ElementList
A viewpoint from which the scene will be rendered.
bool mUseVertexColour
Use vertex colour?
TexCoordDirection
The direction in which texture coordinates from elements of the chain are used.
size_t start
The start of this chains subset of the buffer.
bool mBoundsDirty
Do the bounds need redefining?
IndexData * mIndexData
Index data (to allow multiple unconnected chains)
Simple struct defining a chain segment by referencing a subset of the preallocated buffer (which will...
size_t head
The 'head' of the chain, relative to start.
Abstract class defining a movable object in a scene.
static String AUTODETECT_RESOURCE_GROUP_NAME
Special resource group name which causes resource group to be automatically determined based on searc...
bool mBuffersNeedRecreating
Do the buffers need recreating?
VertexData * mVertexData
Vertex data.
Interface definition for a factory class which produces a certain kind of MovableObject,...
size_t mMaxElementsPerChain
Maximum length of each chain.
static const Vector3 UNIT_X
virtual bool getDynamic(void) const
Gets whether or not the buffers created for this object are suitable for dynamic alteration.
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
Summary class collecting together vertex source information.
bool mVertexDeclDirty
Is the vertex declaration dirty?
Implementation of a Quaternion, i.e.
Class encapsulating a standard 4x4 homogeneous matrix.
Manages the organisation and rendering of a 'scene' i.e.
Vector3 mNormalBase
Used when mFaceCamera == false; determines the billboard's "normal".
bool mUseTexCoords
Use texture coords?
Quaternion orientation
Only used when mFaceCamera == false.
A 3D box aligned with the x/y/z axes.
Real mRadius
Bounding radius.
Contains the data of an element of the BillboardChain.
bool mVertexContentDirty
Is the vertex buffer dirty?
static const size_t SEGMENT_EMPTY
Chain segment has no elements.
ChainSegmentList mChainSegmentList
Factory object for creating BillboardChain instances.
virtual bool getUseTextureCoords(void) const
Gets whether texture coordinate information should be included in the final buffers generated.
Class representing colour.
Visitor object that can be used to iterate over a collection of Renderable instances abstractly.
vector< ChainSegment >::type ChainSegmentList
bool mDynamic
Dynamic use?
Real texCoord
U or V texture coord depending on options.
Abstract class defining the interface all renderable objects must implement.
String mMaterialName
Material.
size_t tail
The 'tail' of the chain, relative to start.
AxisAlignedBox mAABB
AABB.
float Real
Software floating point type.
TexCoordDirection mTexCoordDir
Texture coord direction.
Allows the rendering of a chain of connected billboards.
virtual bool getUseVertexColours(void) const
Gets whether vertex colour information should be included in the final buffers generated.
Tex coord in elements is treated as the 'u' texture coordinate.
virtual size_t getNumberOfChains(void) const
Get the number of chain segments (this class can render multiple chains at once using the same materi...
virtual size_t getMaxChainElements(void) const
Get the maximum number of chain elements per chain.
Summary class collecting together index data source information.
Standard 3-dimensional vector.
'New' rendering operation using vertex buffers.
virtual const String & getMaterialName(void) const
Get the material name in use.
static String FACTORY_TYPE_NAME
bool mIndexContentDirty
Is the index buffer dirty?
Class to manage the scene object rendering queue.
Camera * mVertexCameraUsed
Camera last used to build the vertex buffer.
virtual const Real * getOtherTextureCoordRange(void) const
Get the range of the texture coordinates generated across the width of the chain elements.
virtual TexCoordDirection getTextureCoordDirection(void)
Gets the direction in which texture coords specified on each element are deemed to run.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.