Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# Ogre::BillboardSet Class Reference

A collection of billboards (faces which are always facing the camera) with the same (default) dimensions, material and which are fairly close proximity to each other. More...

`#include <OgreBillboardSet.h>`

Inheritance diagram for Ogre::BillboardSet:

[legend]
List of all members.

## Public Types

typedef std::vector< ShadowRenderable * > | ShadowRenderableList
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator

## Public Methods

| BillboardSet (const String &name, unsigned int poolSize=20)
| Usual constructor - this is called by the SceneManager.
virtual | ~BillboardSet ()
Billboard * | createBillboard (const Vector3 &position, const ColourValue &colour=ColourValue::White)
| Creates a new billboard and adds it to this set.
Billboard * | createBillboard (Real x, Real y, Real z, const ColourValue &colour=ColourValue::White)
| Creates a new billboard and adds it to this set.
virtual int | getNumBillboards (void) const
| Returns the number of active billboards which currently make up this set.
virtual void | setAutoextend (bool autoextend)
| Tells the set whether to allow automatic extension of the pool of billboards.
virtual bool | getAutoextend (void) const
| Returns true if the billboard pool automatically extends.
virtual void | setPoolSize (unsigned int size)
| Adjusts the size of the pool of billboards available in this set.
virtual unsigned int | getPoolSize (void) const
| Returns the current size of the billboard pool.
virtual void | clear ()
| Empties this set of all billboards.
virtual Billboard * | getBillboard (unsigned int index) const
| Returns a pointer to the billboard at the supplied index.
virtual void | removeBillboard (unsigned int index)
| Removes the billboard at the supplied index.
virtual void | removeBillboard (Billboard *pBill)
| Removes a billboard from the set.
virtual void | setBillboardOrigin (BillboardOrigin origin)
| Sets the point which acts as the origin point for all billboards in this set.
virtual BillboardOrigin | getBillboardOrigin (void) const
| Gets the point which acts as the origin point for all billboards in this set.
virtual void | setDefaultDimensions (Real width, Real height)
| Sets the default dimensions of the billboards in this set.
virtual void | setDefaultWidth (Real width)
| See setDefaultDimensions - this sets 1 component individually.
virtual Real | getDefaultWidth (void) const
| See setDefaultDimensions - this gets 1 component individually.
virtual void | setDefaultHeight (Real height)
| See setDefaultDimensions - this sets 1 component individually.
virtual Real | getDefaultHeight (void) const
| See setDefaultDimensions - this gets 1 component individually.
virtual void | setMaterialName (const String &name)
| Sets the name of the material to be used for this billboard set.
virtual const String & | getMaterialName (void) const
| Sets the name of the material to be used for this billboard set.
virtual void | _notifyCurrentCamera (Camera *cam)
| Overridden from MovableObject.
virtual const AxisAlignedBox & | getBoundingBox (void) const
| Overridden from MovableObject.
virtual Real | getBoundingRadius (void) const
| Overridden from MovableObject.
virtual void | _updateRenderQueue (RenderQueue *queue)
| Overridden from MovableObject.
virtual Material * | getMaterial (void) const
| Overridden from MovableObject.
virtual void | getRenderOperation (RenderOperation &op)
| Overridden from MovableObject.
virtual void | getWorldTransforms (Matrix4 *xform) const
| Overridden from MovableObject.
const Quaternion & | getWorldOrientation (void) const
| @copydoc Renderable::getWorldOrientation
const Vector3 & | getWorldPosition (void) const
| @copydoc Renderable::getWorldPosition
virtual void | _notifyBillboardResized (void)
| Internal callback used by Billboards to notify their parent that they have been resized.
virtual void | _notifyBillboardTextureCoordsModified (void)
| Notifies the billboardset that texture coordinates will be modified for this set.
virtual bool | getCullIndividually (void) const
| Returns whether or not billbards in this are tested individually for culling.
virtual void | setCullIndividually (bool cullIndividual)
| Sets whether culling tests billboards in this individually as well as in a group.
virtual void | setBillboardType (BillboardType bbt)
| Sets the type of billboard to render.
virtual BillboardType | getBillboardType (void) const
| Returns the billboard type in use.
virtual void | setCommonDirection (const Vector3 &vec)
| Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON.
virtual const Vector3 & | getCommonDirection (void) const
| Gets the common direction for all billboards (BBT_ORIENTED_COMMON).
virtual const String & | getName (void) const
| Overridden from MovableObject.
virtual const String & | getMovableType (void) const
| Overridden from MovableObject.
Real | getSquaredViewDepth (const Camera *cam) const
| Overridden, see Renderable.
virtual void | _updateBounds (void)
| Update the bounds of the billboardset.
const LightList & | getLights (void) const
| @copydoc Renderable::getLights
ParamDictionary * | getParamDictionary (void)
| Retrieves the parameter dictionary for this class.
const ParamDictionary * | getParamDictionary (void) const
const ParameterList & | getParameters (void) const
| Retrieves a list of parameters valid for this object.
virtual bool | setParameter (const String &name, const String &value)
| Generic parameter setting method.
virtual String | getParameter (const String &name) const
| Generic parameter retrieval method.
virtual void | copyParametersTo (StringInterface *dest) const
| Method for copying this object's parameters to another object.
virtual Node * | getParentNode (void) const
| Returns the node to which this object is attached.
virtual SceneNode * | getParentSceneNode (void) const
| Returns the scene node to which this object is attached.
virtual void | _notifyAttached (Node *parent, bool isTagPoint=false)
| Internal method called to notify the object that it has been attached to a node.
virtual bool | isAttached (void) const
| Returns true if this object is attached to a SceneNode or TagPoint.
virtual const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const
| Retrieves the axis-aligned bounding box for this object in world coordinates.
virtual const Sphere & | getWorldBoundingSphere (bool derive=false) const
| Retrieves the worldspace bounding sphere for this object.
virtual void | setVisible (bool visible)
| Tells this object whether to be visible or not, if it has a renderable component.
virtual bool | isVisible (void) const
| Returns whether or not this object is supposed to be visible or not.
virtual void | setUserObject (UserDefinedObject *obj)
| Call this to associate your own custom user object instance with this MovableObject.
virtual UserDefinedObject * | getUserObject (void)
| Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.
virtual void | setRenderQueueGroup (RenderQueueGroupID queueID)
| Sets the render queue group this entity will be rendered through.
virtual RenderQueueGroupID | getRenderQueueGroup (void) const
| Gets the queue group for this entity, see setRenderQueueGroup for full details.
virtual Matrix4 | _getParentNodeFullTransform (void) const
| return the full transformation of the parent sceneNode or the attachingPoint node
virtual void | setQueryFlags (unsigned long flags)
| Sets the query flags for this object.
virtual void | addQueryFlags (unsigned long flags)
| As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
virtual void | removeQueryFlags (unsigned long flags)
| As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
virtual unsigned long | getQueryFlags (void) const
| Returns the query flags relevant for this object.
EdgeData * | getEdgeList (void)
| Define a default implementation of method from ShadowCaster which implements no shadows.
ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDist, unsigned long flags=0)
| Define a default implementation of method from ShadowCaster which implements no shadows.
ShadowRenderableListIterator | getLastShadowVolumeRenderableIterator (void)
| Return the last calculated shadow renderables.
const AxisAlignedBox & | getLightCapBounds (void) const
| Overridden member from ShadowCaster.
const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const
| Overridden member from ShadowCaster.
void | setCastShadows (bool enabled)
| Sets whether or not this object will cast shadows.
bool | getCastShadows (void) const
| Returns whether shadow casting is enabled for this object.
Real | getPointExtrusionDistance (const Light *l) const
| Get the distance to extrude for a point/spot light.
virtual Technique * | getTechnique (void) const
| Retrieves a pointer to the Material Technique this renderable object uses.
virtual unsigned short | getNumWorldTransforms (void) const
| Returns the number of world transform matrices this renderable requires.
virtual bool | useIdentityProjection (void) const
| Returns whether or not to use an 'identity' projection.
virtual bool | useIdentityView (void) const
| Returns whether or not to use an 'identity' projection.
virtual SceneDetailLevel | getRenderDetail () const
| Returns the preferred rasterisation mode of this renderable.
virtual bool | getNormaliseNormals (void) const
| Returns whether or not this Renderable wishes the hardware to normalise normals.
virtual const PlaneList & | getClipPlanes () const
virtual bool | getCastsShadows (void) const
| Method which reports whether this renderable would normally cast a shadow.
void | setCustomParameter (size_t index, const Vector4 &value)
| Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.
const Vector4 & | getCustomParameter (size_t index) const
| Gets the custom value associated with this Renderable at the given index.
virtual void | _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const
| Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

## Static Public Methods

void | cleanupDictionary ()
| Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g.
void | extrudeVertices (HardwareVertexBufferSharedPtr vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist)
| Utility method for extruding vertices based on a light.

## Protected Types

typedef std::list< Billboard * > | ActiveBillboardList
typedef std::deque< Billboard * > | FreeBillboardQueue
typedef std::vector< Billboard * > | BillboardPool
typedef std::map< size_t, Vector4 > | CustomParameterMap

## Protected Methods

| BillboardSet ()
| Private constructor (instances cannot be created directly).
bool | billboardVisible (Camera *cam, ActiveBillboardList::iterator bill)
| Internal method for culling individual billboards.
virtual void | increasePool (unsigned int size)
| Internal method for increasing pool size.
virtual void | genBillboardAxes (const Camera &cam, Vector3 *pX, Vector3 *pY, const Billboard *pBill=0)
| Internal method for generating billboard corners.
void | getParametricOffsets (Real &left, Real &right, Real &top, Real &bottom)
| Internal method, generates parametric offsets based on origin.
void | genVertices (Real **pPos, RGBA **pCol, Real **pTex, const Vector3 *const offsets, const Billboard *const pBillboard)
| Internal method for generating vertex data.
void | genVertOffsets (Real inleft, Real inright, Real intop, Real inbottom, Real width, Real height, const Vector3 &x, const Vector3 &y, Vector3 *pDestVec)
| Internal method generates vertex offsets.
bool | createParamDictionary (const String &className)
| Internal method for creating a parameter dictionary for the class, if it does not already exist.
Real | getExtrusionDistance (const Vector3 &objectPos, const Light *light) const
| Helper moethod for calculating extrusion distance.
virtual void | updateEdgeListLightFacing (EdgeData *edgeData, const Vector4 &lightPos)
| Tells the caster to perform the tasks necessary to update the edge data's light listing.
virtual void | generateShadowVolume (EdgeData *edgeData, HardwareIndexBufferSharedPtr indexBuffer, const Light *light, ShadowRenderableList &shadowRenderables, unsigned long flags)
| Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.
virtual void | extrudeBounds (AxisAlignedBox &box, const Vector4 &lightPos, Real extrudeDist) const
| Utility method for extruding a bounding box.

## Protected Attributes

String | mName
| Name of the entity; used for location in the scene.
AxisAlignedBox | mAABB
| Bounds of all billboards in this set.
Real | mBoundingRadius
| Bounding radius.
BillboardOrigin | mOriginType
| Origin of each billboard.
Real | mDefaultWidth
| Default width of each billboard.
Real | mDefaultHeight
| Default height of each billboard.
String | mMaterialName
| Name of the material to use.
Material * | mpMaterial
| Pointer to the material to use.
bool | mAllDefaultSize
| True if no billboards in this set have been resized - greater efficiency.
bool | mAutoExtendPool
| Flag indicating whether to autoextend pool.
bool | mFixedTextureCoords
ActiveBillboardList | mActiveBillboards
| Active billboard list.
FreeBillboardQueue | mFreeBillboards
| Free billboard queue.
BillboardPool | mBillboardPool
| Pool of billboard instances for use and reuse in the active billboard list.
VertexData * | mVertexData
| The vertex position data for all billboards in this set.
IndexData * | mIndexData
| The vertex index data for all billboards in this set (1 set only).
bool | mCullIndividual
| Flag indicating whether each billboard should be culled separately (default: false).
BillboardType | mBillboardType
| The type of billboard to render.
Vector3 | mCommonDirection
| Common direction for billboards of type BBT_ORIENTED_COMMON.
unsigned short | mNumVisibleBillboards
String | mParamDictName
| Class name for this instance to be used as a lookup (must be initialised by subclasses).
Node * | mParentNode
| node to which this object is attached
bool | mParentIsTagPoint
bool | mVisible
| Is this object visible?
UserDefinedObject * | mUserObject
| User defined object which is linked to this object.
RenderQueueGroupID | mRenderQueueID
| The render queue to use when rendering this object.
bool | mRenderQueueIDSet
| Flags whether the RenderQueue's default should be used.
unsigned long | mQueryFlags
| Flags determining whether this object is included / excluded from scene queries.
AxisAlignedBox | mWorldAABB
| Cached world AABB of this object.
Sphere | mWorldBoundingSphere
AxisAlignedBox | mWorldDarkCapBounds
| World space AABB of this object's dark cap.
bool | mCastShadows
| Does this object cast shadows?
CustomParameterMap | mCustomParameters

## Static Protected Attributes

String | msMovableType = "BillboardSet"
| Shared class-level name for Movable type.
ParamDictionaryMap | msDictionary
| Dictionary of parameters.
const PlaneList | msDummyPlaneList

## Private Methods

void | _createBuffers (void)
| Internal method creates vertex and index buffers.

## Private Attributes

bool | mBuffersCreated
| Flag indicating whether the HW buffers have been created.
unsigned int | mPoolSize
| The number of billboard in the pool.

## Detailed Description

A collection of billboards (faces which are always facing the camera) with the same (default) dimensions, material and which are fairly close proximity to each other.

Remarks:
  Billboards are rectangles made up of 2 tris which are always facing the camera. They are typically used for special effects like particles. This class collects together a set of billboards with the same (default) dimensions, material and relative locality in order to process them more efficiently. The entire set of billboards will be culled as a whole (by default, although this can be changed if you want a large set of billboards which are spread out and you want them culled individually), individual Billboards have locations which are relative to the set (which itself derives it's position from the SceneNode it is attached to since it is a MoveableObject), they will be rendered as a single rendering operation, and some calculations will be sped up by the fact that they use the same dimensions so some workings can be reused.

  A BillboardSet can be created using the SceneManager::createBillboardSet method. They can also be used internally by other classes to create effects.

Definition at line 80 of file OgreBillboardSet.h.

## Member Typedef Documentation

typedef std::list<Billboard*> Ogre::BillboardSet::ActiveBillboardList`[protected]`

| Definition at line 116 of file OgreBillboardSet.h.

typedef std::vector<Billboard*> Ogre::BillboardSet::BillboardPool`[protected]`

| Definition at line 118 of file OgreBillboardSet.h.

typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap`[protected, inherited]`

| Definition at line 232 of file OgreRenderable.h.

typedef std::deque<Billboard*> Ogre::BillboardSet::FreeBillboardQueue`[protected]`

| Definition at line 117 of file OgreBillboardSet.h.

typedef std::vector<ShadowRenderable*> Ogre::ShadowCaster::ShadowRenderableList`[inherited]`

| Definition at line 125 of file OgreShadowCaster.h.

typedef VectorIterator<ShadowRenderableList> Ogre::ShadowCaster::ShadowRenderableListIterator`[inherited]`

| Definition at line 126 of file OgreShadowCaster.h. Referenced by Ogre::Entity::getLastShadowVolumeRenderableIterator().

## Constructor & Destructor Documentation

Ogre::BillboardSet::BillboardSet | ( |  | ) | `[protected]`

| Private constructor (instances cannot be created directly). Definition at line 46 of file OgreBillboardSet.cpp. References Ogre::BBO_CENTER, Ogre::BBT_POINT, Ogre::MovableObject::mCastShadows, setDefaultDimensions(), and setMaterialName().

Ogre::BillboardSet::BillboardSet | ( | const String & | name,
|  | unsigned int | poolSize = 20
| ) |

Usual constructor - this is called by the SceneManager.

Parameters:

  name | The name to give the billboard set (must be unique)
  poolSize | The initial size of the billboard pool. Estimate of the number of billboards which will be required, and pass it using this parameter. The set will preallocate this number to avoid memory fragmentation. The default behaviour once this pool has run out is to double it.

See also:
  BillboardSet::setAutoextend

Definition at line 64 of file OgreBillboardSet.cpp.

References Ogre::BBO_CENTER, Ogre::BBT_POINT, Ogre::MovableObject::mCastShadows, setDefaultDimensions(), setMaterialName(), setPoolSize(), and Ogre::String.

Ogre::BillboardSet::~BillboardSet | ( |  | ) | `[virtual]`

| Definition at line 85 of file OgreBillboardSet.cpp. References mBillboardPool, mIndexData, and mVertexData.

## Member Function Documentation

void Ogre::BillboardSet::_createBuffers | ( | void |  | ) | `[private]`

Internal method creates vertex and index buffers.

Definition at line 573 of file OgreBillboardSet.cpp.

References Ogre::VertexDeclaration::addElement(), COLOUR_BINDING, Ogre::VertexBufferBinding::getBuffer(), Ogre::VertexDeclaration::getVertexSize(), Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::IndexData::indexStart, mBuffersCreated, mIndexData, mPoolSize, mVertexData, POSITION_BINDING, Ogre::Real, Ogre::VertexBufferBinding::setBinding(), TEXCOORD_BINDING, Ogre::ushort, Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::VertexData::vertexStart, Ogre::VES_DIFFUSE, Ogre::VES_POSITION, Ogre::VES_TEXTURE_COORDINATES, Ogre::VET_COLOUR, Ogre::VET_FLOAT2, and Ogre::VET_FLOAT3.

Referenced by _notifyCurrentCamera().

Matrix4 Ogre::MovableObject::_getParentNodeFullTransform | ( | void |  | ) | const`[virtual, inherited]`

return the full transformation of the parent sceneNode or the attachingPoint node

Definition at line 121 of file OgreMovableObject.cpp.

References Ogre::Node::_getFullTransform(), and Ogre::MovableObject::mParentNode.

Referenced by Ogre::Entity::cacheBoneMatrices(), Ogre::TagPoint::getParentEntityTransform(), Ogre::MovableObject::getWorldBoundingBox(), Ogre::SubEntity::getWorldTransforms(), Ogre::Entity::EntityShadowRenderable::getWorldTransforms(), and getWorldTransforms().

void Ogre::MovableObject::_notifyAttached | ( | Node * | parent,
|  | bool | isTagPoint = false
| ) | `[virtual, inherited]`

Internal method called to notify the object that it has been attached to a node.

Reimplemented in Ogre::Entity.

Definition at line 69 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mParentIsTagPoint, and Ogre::MovableObject::mParentNode.

Referenced by Ogre::SceneNode::attachObject(), Ogre::Entity::attachObjectImpl(), Ogre::SceneNode::detachAllObjects(), Ogre::SceneNode::detachObject(), Ogre::Entity::detachObjectImpl(), and Ogre::SceneNode::~SceneNode().

void Ogre::BillboardSet::_notifyBillboardResized | ( | void |  | ) | `[virtual]`

| Internal callback used by Billboards to notify their parent that they have been resized. Definition at line 702 of file OgreBillboardSet.cpp. References mAllDefaultSize. Referenced by Ogre::Billboard::setDimensions().

virtual void Ogre::BillboardSet::_notifyBillboardTextureCoordsModified | ( | void |  | ) | `[virtual]`

| Notifies the billboardset that texture coordinates will be modified for this set. Definition at line 469 of file OgreBillboardSet.h. Referenced by Ogre::Billboard::setRotation().

void Ogre::BillboardSet::_notifyCurrentCamera | ( | Camera * | cam | ) | `[virtual]`

Overridden from MovableObject.

See also:
  MovableObject

Implements Ogre::MovableObject.

Definition at line 278 of file OgreBillboardSet.cpp.

References _createBuffers(), Ogre::BBT_ORIENTED_SELF, billboardVisible(), COLOUR_BINDING, genBillboardAxes(), genVertices(), genVertOffsets(), Ogre::VertexBufferBinding::getBuffer(), getParametricOffsets(), mActiveBillboards, mBillboardType, mBuffersCreated, mDefaultHeight, mDefaultWidth, mFixedTextureCoords, mNumVisibleBillboards, mVertexData, POSITION_BINDING, Ogre::Real, Ogre::RGBA, TEXCOORD_BINDING, and Ogre::VertexData::vertexBufferBinding.

void Ogre::BillboardSet::_updateBounds | ( | void |  | ) | `[virtual]`

Update the bounds of the billboardset.

Reimplemented in Ogre::ParticleSystem.

Definition at line 439 of file OgreBillboardSet.cpp.

References mAABB, mActiveBillboards, Ogre::Vector3::makeCeil(), Ogre::Vector3::makeFloor(), mBoundingRadius, mDefaultHeight, mDefaultWidth, Ogre::MovableObject::mParentNode, Ogre::Node::needUpdate(), Ogre::Real, Ogre::AxisAlignedBox::setExtents(), Ogre::AxisAlignedBox::setNull(), and Ogre::Vector3::squaredLength().

Referenced by createBillboard().

virtual void Ogre::Renderable::_updateCustomGpuParameter | ( | const GpuProgramParameters::AutoConstantEntry & | constantEntry,
|  | GpuProgramParameters * | params
| ) | const`[virtual, inherited]`

Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

Remarks:
  This method allows a Renderable to map in a custom GPU program parameter based on it's own data. This is represented by a GPU auto parameter of ACT_CUSTOM, and to allow there to be more than one of these per Renderable, the 'data' field on the auto parameter will identify which parameter is being updated. The implementation of this method must identify the parameter being updated, and call a 'setConstant' method on the passed in GpuProgramParameters object, using the details provided in the incoming auto constant setting to identify the index at which to set the parameter.

  You do not need to override this method if you're using the standard sets of data associated with the Renderable as provided by setCustomParameter and getCustomParameter. By default, the implementation will map from the value indexed by the 'constantEntry.data' parameter to a value previously set by setCustomParameter. But custom Renderables are free to override this if they want, in any case.

Parameters:

  constantEntry | The auto constant entry referring to the parameter being updated
  params | The parameters object which this method should call to set the updated parameters.

Reimplemented in Ogre::TerrainRenderable.

Definition at line 218 of file OgreRenderable.h.

References Ogre::GpuProgramParameters::AutoConstantEntry::data, Ogre::GpuProgramParameters::AutoConstantEntry::index, params, and Ogre::GpuProgramParameters::setConstant().

Referenced by Ogre::GpuProgramParameters::_updateAutoParamsNoLights().

void Ogre::BillboardSet::_updateRenderQueue | ( | RenderQueue * | queue | ) | `[virtual]`

Overridden from MovableObject.

See also:
  MovableObject

Implements Ogre::MovableObject.

Definition at line 486 of file OgreBillboardSet.cpp.

References Ogre::RenderQueue::addRenderable(), and Ogre::MovableObject::mRenderQueueID.

virtual void Ogre::MovableObject::addQueryFlags | ( | unsigned long | flags | ) | `[virtual, inherited]`

| As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. Definition at line 185 of file OgreMovableObject.h.

bool Ogre::BillboardSet::billboardVisible | ( | Camera * | cam,
|  | ActiveBillboardList::iterator | bill
| ) | `[protected]`

| Internal method for culling individual billboards. Definition at line 788 of file OgreBillboardSet.cpp. References getWorldTransforms(), Ogre::Frustum::isVisible(), mCullIndividual, mDefaultHeight, mDefaultWidth, Ogre::Sphere::setCenter(), and Ogre::Sphere::setRadius(). Referenced by _notifyCurrentCamera().

void Ogre::StringInterface::cleanupDictionary | ( |  | ) | `[static, inherited]`

| Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g. MaterialManager) initializes. Definition at line 53 of file OgreStringInterface.cpp. References Ogre::StringInterface::msDictionary.

void Ogre::BillboardSet::clear | ( |  | ) | `[virtual]`

| Empties this set of all billboards. Definition at line 146 of file OgreBillboardSet.cpp. References mActiveBillboards, and mFreeBillboards.

virtual void Ogre::StringInterface::copyParametersTo | ( | StringInterface * | dest | ) | const`[virtual, inherited]`

Method for copying this object's parameters to another object.

Remarks:
  This method takes the values of all the object's parameters and tries to set the same values on the destination object. This provides a completely type independent way to copy parameters to other objects. Note that because of the String manipulation involved, this should not be regarded as an efficient process and should be saved for times outside of the rendering loop.

  Any unrecognised parameters will be ignored as with setParameter method.

Parameters:

  dest | Pointer to object to have it's parameters set the same as this object.

Definition at line 293 of file OgreStringInterface.h.

References Ogre::ParamDictionary::mParamDefs, and Ogre::StringInterface::setParameter().

Referenced by Ogre::GuiElement::clone(), Ogre::GuiElement::copyFromTemplate(), Ogre::GuiContainer::copyFromTemplate(), and Ogre::ParticleSystem::operator=().

Billboard * Ogre::BillboardSet::createBillboard | ( | Real | x,
|  | Real | y,
|  | Real | z,
|  | const ColourValue & | colour = ColourValue::White
| ) |

Creates a new billboard and adds it to this set.

Remarks:
  Behaviour once the billboard pool has been exhausted depends on the BillboardSet::setAutoextendPool option.

Parameters:

  x |
  y |
  z | The position of the new billboard realtive to the certer of the set
  colour | Optional base colour of the billboard.

Returns:
  On success, a pointer to a newly created Billboard is returned.

  On failiure (i.e. no more space and can't autoextend), NULL is returned.

See also:
  BillboardSet::setAutoextend

Definition at line 132 of file OgreBillboardSet.cpp.

References createBillboard(), and Ogre::Real.

Billboard * Ogre::BillboardSet::createBillboard | ( | const Vector3 & | position,
|  | const ColourValue & | colour = ColourValue::White
| ) |

Creates a new billboard and adds it to this set.

Remarks:
  Behaviour once the billboard pool has been exhausted depends on the BillboardSet::setAutoextendPool option.

Parameters:

  position | The position of the new billboard realtive to the certer of the set
  colour | Optional base colour of the billboard.

Returns:
  On success, a pointer to a newly created Billboard is returned.

  On failiure (i.e. no more space and can't autoextend), NULL is returned.

See also:
  BillboardSet::setAutoextend

Definition at line 101 of file OgreBillboardSet.cpp.

References Ogre::Billboard::_notifyOwner(), _updateBounds(), getPoolSize(), mActiveBillboards, mFreeBillboards, Ogre::Billboard::setColour(), setPoolSize(), and Ogre::Billboard::setPosition().

Referenced by createBillboard().

bool Ogre::StringInterface::createParamDictionary | ( | const String & | className | ) | `[protected, inherited]`

Internal method for creating a parameter dictionary for the class, if it does not already exist.

Remarks:
  This method will check to see if a parameter dictionary exist for this class yet, and if not will create one. NB you must supply the name of the class (RTTI is not used or performance).

Parameters:

  className | the name of the class using the dictionary

Returns:
  true if a new dictionary was created, false if it was already there

Definition at line 169 of file OgreStringInterface.h.

References Ogre::String.

Referenced by Ogre::ExternalTextureSource::addBaseParams(), Ogre::BorderButtonGuiElement::BorderButtonGuiElement(), Ogre::BorderPanelGuiElement::BorderPanelGuiElement(), Ogre::ButtonGuiElement::ButtonGuiElement(), Ogre::CgProgram::CgProgram(), Ogre::ColourFaderAffector::ColourFaderAffector(), Ogre::ColourFaderAffector2::ColourFaderAffector2(), Ogre::ColourImageAffector::ColourImageAffector(), Ogre::ColourInterpolatorAffector::ColourInterpolatorAffector(), Ogre::CursorGuiElement::CursorGuiElement(), Ogre::D3D9HLSLProgram::D3D9HLSLProgram(), Ogre::GLSLProgram::GLSLProgram(), Ogre::AreaEmitter::initDefaults(), Ogre::ParticleSystem::initParameters(), Ogre::LinearForceAffector::LinearForceAffector(), Ogre::ListGuiElement::ListGuiElement(), Ogre::PanelGuiElement::PanelGuiElement(), Ogre::PointEmitter::PointEmitter(), Ogre::PopupMenuGuiElement::PopupMenuGuiElement(), Ogre::RotationAffector::RotationAffector(), Ogre::ScaleAffector::ScaleAffector(), Ogre::ScrollBarGuiElement::ScrollBarGuiElement(), Ogre::TextAreaGuiElement::TextAreaGuiElement(), Ogre::TextBoxGuiElement::TextBoxGuiElement(), and Ogre::TTYGuiElement::TTYGuiElement().

void Ogre::ShadowCaster::extrudeBounds | ( | AxisAlignedBox & | box,
|  | const Vector4 & | lightPos,
|  | Real | extrudeDist
| ) | const`[protected, virtual, inherited]`

Utility method for extruding a bounding box.

Parameters:

  box | Original bounding box, will be updated in-place
  lightPos | 4D light position in object space, when w=0.0f this represents a directional light
  extrudeDist | The distance to extrude

Definition at line 275 of file OgreShadowCaster.cpp.

References Ogre::AxisAlignedBox::getAllCorners(), Ogre::AxisAlignedBox::getMaximum(), Ogre::AxisAlignedBox::getMinimum(), Ogre::Vector3::makeCeil(), Ogre::Vector3::makeFloor(), Ogre::Vector3::normalise(), Ogre::Real, Ogre::AxisAlignedBox::setExtents(), Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector3::x, Ogre::Vector4::y, Ogre::Vector3::y, Ogre::Vector4::z, and Ogre::Vector3::z.

Referenced by Ogre::MovableObject::getDarkCapBounds().

void Ogre::ShadowCaster::extrudeVertices | ( | HardwareVertexBufferSharedPtr | vertexBuffer,
|  | size_t | originalVertexCount,
|  | const Vector4 & | lightPos,
|  | Real | extrudeDist
| ) | `[static, inherited]`

Utility method for extruding vertices based on a light.

Remarks:
  Unfortunately, because D3D cannot handle homogenous (4D) position coordinates in the fixed-function pipeline (GL can, but we have to be cross-API), when we extrude in software we cannot extrude to infinity the way we do in the vertex program (by setting w to 0.0f). Therefore we extrude by a fixed distance, which may cause some problems with larger scenes. Luckily better hardware (ie vertex programs) can fix this.

Parameters:

  vertexBuffer | The vertex buffer containing ONLY xyz position values, which must be originalVertexCount * 2 * 3 floats long.
  originalVertexCount | The count of the original number of vertices, ie the number in the mesh, not counting the doubling which has already been done (by VertexData::prepareForShadowVolume) to provide the extruded area of the buffer.
  lightPos | 4D light position in object space, when w=0.0f this represents a directional light
  extrudeDist | The distance to extrude

Definition at line 236 of file OgreShadowCaster.cpp.

References Ogre::Vector3::normalise(), Ogre::Real, Ogre::Vector4::w, Ogre::Vector3::x, Ogre::Vector4::x, Ogre::Vector3::y, Ogre::Vector4::y, Ogre::Vector3::z, and Ogre::Vector4::z.

Referenced by Ogre::Entity::getShadowVolumeRenderableIterator().

void Ogre::BillboardSet::genBillboardAxes | ( | const Camera & | cam,
|  | Vector3 * | pX,
|  | Vector3 * | pY,
|  | const Billboard * | pBill = 0
| ) | `[protected, virtual]`

Internal method for generating billboard corners.

Remarks:
  Optional parameter pBill is only present for type BBT_ORIENTED_SELF

Reimplemented in Ogre::ParticleSystem.

Definition at line 828 of file OgreBillboardSet.cpp.

References Ogre::Node::_getDerivedOrientation(), Ogre::BBT_ORIENTED_COMMON, Ogre::BBT_ORIENTED_SELF, Ogre::BBT_POINT, Ogre::Vector3::crossProduct(), Ogre::Camera::getDerivedDirection(), Ogre::Camera::getDerivedOrientation(), Ogre::Quaternion::Inverse(), mCommonDirection, Ogre::Billboard::mDirection, Ogre::MovableObject::mParentNode, and Ogre::Vector3::normalise().

Referenced by _notifyCurrentCamera().

void Ogre::ShadowCaster::generateShadowVolume | ( | EdgeData * | edgeData,
|  | HardwareIndexBufferSharedPtr | indexBuffer,
|  | const Light * | light,
|  | ShadowRenderableList & | shadowRenderables,
|  | unsigned long | flags
| ) | `[protected, virtual, inherited]`

Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.

Parameters:

  edgeData | The edge information to use
  indexBuffer | The buffer into which to write data into; current contents are assumed to be discardable.
  light | The light, mainly for type info as silhouette calculations should already have been done in updateEdgeListLightFacing
  shadowRenderables | A list of shadow renderables which has already been constructed but will need populating with details of the index ranges to be used.
  flags | Additional controller flags, see ShadowRenderableFlags

Definition at line 37 of file OgreShadowCaster.cpp.

References Ogre::EdgeData::Edge::degenerate, Ogre::EdgeData::edgeGroups, Ogre::EdgeData::EdgeGroup::edges, Ogre::ShadowRenderable::getLightCapRenderable(), Ogre::ShadowRenderable::getRenderOperationForUpdate(), Ogre::Light::getType(), Ogre::IndexData::indexCount, Ogre::RenderOperation::indexData, Ogre::IndexData::indexStart, Ogre::EdgeData::Triangle::lightFacing, Ogre::SRF_EXTRUDE_TO_INFINITY, Ogre::SRF_INCLUDE_DARK_CAP, Ogre::SRF_INCLUDE_LIGHT_CAP, Ogre::EdgeData::triangles, Ogre::EdgeData::Edge::triIndex, Ogre::VertexData::vertexCount, Ogre::EdgeData::EdgeGroup::vertexData, Ogre::EdgeData::EdgeGroup::vertexSet, Ogre::EdgeData::Triangle::vertexSet, Ogre::EdgeData::Triangle::vertIndex, and Ogre::EdgeData::Edge::vertIndex.

Referenced by Ogre::Entity::getShadowVolumeRenderableIterator().

void Ogre::BillboardSet::genVertices | ( | Real ** | pPos,
|  | RGBA ** | pCol,
|  | Real ** | pTex,
|  | const Vector3 *const | offsets,
|  | const Billboard *const | pBillboard
| ) | `[protected]`

Internal method for generating vertex data.

Parameters:

  pPos | Pointer to pointer to vertex positions, will be updated
  pCol | Pointer to pointer to vertex colours, will be updated
  offsets | Array of 4 Vector3 offsets
  pBillboard | Pointer to billboard

Returns:
  new vertex index

Definition at line 889 of file OgreBillboardSet.cpp.

References Ogre::Billboard::mColour, mFixedTextureCoords, Ogre::Billboard::mPosition, Ogre::Billboard::mRotation, Ogre::Real, Ogre::RGBA, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

Referenced by _notifyCurrentCamera().

void Ogre::BillboardSet::genVertOffsets | ( | Real | inleft,
|  | Real | inright,
|  | Real | intop,
|  | Real | inbottom,
|  | Real | width,
|  | Real | height,
|  | const Vector3 & | x,
|  | const Vector3 & | y,
|  | Vector3 * | pDestVec
| ) | `[protected]`

Internal method generates vertex offsets.

Remarks:
  Takes in parametric offsets as generated from getParametericOffsets, width and height values and billboard x and y axes as generated from genBillboardAxes. Fills output array of 4 vectors with vector offsets from origin for left-top, right-top, left-bottom, right-bottom corners.

Definition at line 949 of file OgreBillboardSet.cpp.

References Ogre::Real.

Referenced by _notifyCurrentCamera().

bool Ogre::BillboardSet::getAutoextend | ( | void |  | ) | const`[virtual]`

Returns true if the billboard pool automatically extends.

See also:
  BillboardSet::setAutoextend

Definition at line 541 of file OgreBillboardSet.cpp.

References mAutoExtendPool.

Billboard * Ogre::BillboardSet::getBillboard | ( | unsigned int | index | ) | const`[virtual]`

Returns a pointer to the billboard at the supplied index.

Note:
  This method requires linear time since the billboard list is a linked list.

Parameters:

  index | The index of the billboard that is requested.

Returns:
  On success, a valid pointer to the requested billboard is returned.

  On failiure, NULL is returned.

Definition at line 156 of file OgreBillboardSet.cpp.

References mActiveBillboards.

BillboardOrigin Ogre::BillboardSet::getBillboardOrigin | ( | void |  | ) | const`[virtual]`

Gets the point which acts as the origin point for all billboards in this set.

Returns:
  A member of the BillboardOrigin enum specifying the origin for all the billboards in this set.

Definition at line 222 of file OgreBillboardSet.cpp.

References Ogre::BillboardOrigin, and mOriginType.

BillboardType Ogre::BillboardSet::getBillboardType | ( | void |  | ) | const`[virtual]`

| Returns the billboard type in use. Definition at line 874 of file OgreBillboardSet.cpp. References Ogre::BillboardType, and mBillboardType.

const AxisAlignedBox & Ogre::BillboardSet::getBoundingBox | ( | void |  | ) | const`[virtual]`

Overridden from MovableObject.

See also:
  MovableObject

Implements Ogre::MovableObject.

Definition at line 480 of file OgreBillboardSet.cpp.

References mAABB.

Real Ogre::BillboardSet::getBoundingRadius | ( | void |  | ) | const`[virtual]`

Overridden from MovableObject.

See also:
  MovableObject

Implements Ogre::MovableObject.

Definition at line 987 of file OgreBillboardSet.cpp.

References mBoundingRadius, and Ogre::Real.

bool Ogre::MovableObject::getCastShadows | ( | void |  | ) | const`[virtual, inherited]`

Returns whether shadow casting is enabled for this object.

Implements Ogre::ShadowCaster.

Definition at line 231 of file OgreMovableObject.h.

Referenced by Ogre::OctreeNode::_addToRenderQueue(), Ogre::SubEntity::getCastsShadows(), Ogre::SceneManager::prepareShadowTextures(), Ogre::BspSceneManager::processVisibleLeaf(), Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult(), Ogre::SceneManager::renderAdditiveStencilShadowedQueueGroupObjects(), Ogre::SceneManager::renderModulativeStencilShadowedQueueGroupObjects(), and Ogre::SceneManager::renderModulativeTextureShadowedQueueGroupObjects().

virtual bool Ogre::Renderable::getCastsShadows | ( | void |  | ) | const`[virtual, inherited]`

Method which reports whether this renderable would normally cast a shadow.

Remarks:
  Subclasses should override this if they could have been used to generate a shadow.

Reimplemented in Ogre::SubEntity.

Definition at line 153 of file OgreRenderable.h.

Referenced by Ogre::SceneManager::validateRenderableForRendering().

virtual const PlaneList& Ogre::Renderable::getClipPlanes | ( |  | ) | const`[virtual, inherited]`

| Definition at line 145 of file OgreRenderable.h. References Ogre::PlaneList. Referenced by Ogre::SceneManager::renderSingleObject().

const Vector3 & Ogre::BillboardSet::getCommonDirection | ( | void |  | ) | const`[virtual]`

| Gets the common direction for all billboards (BBT_ORIENTED_COMMON). Definition at line 884 of file OgreBillboardSet.cpp. References mCommonDirection. Referenced by Ogre::ParticleSystem::CmdCommonDirection::doGet().

bool Ogre::BillboardSet::getCullIndividually | ( | void |  | ) | const`[virtual]`

| Returns whether or not billbards in this are tested individually for culling. Definition at line 778 of file OgreBillboardSet.cpp. References mCullIndividual. Referenced by Ogre::ParticleSystem::CmdCull::doGet().

const Vector4& Ogre::Renderable::getCustomParameter | ( | size_t | index | ) | const`[inherited]`

Gets the custom value associated with this Renderable at the given index.

Parameters:

  see | setCustomParaemter for full details.

Definition at line 179 of file OgreRenderable.h.

References Except.

const AxisAlignedBox & Ogre::MovableObject::getDarkCapBounds | ( | const Light & | light,
|  | Real | dirLightExtrusionDist
| ) | const`[virtual, inherited]`

| Overridden member from ShadowCaster. Implements Ogre::ShadowCaster. Definition at line 162 of file OgreMovableObject.cpp. References Ogre::ShadowCaster::extrudeBounds(), Ogre::Light::getAs4DVector(), Ogre::MovableObject::getLightCapBounds(), Ogre::MovableObject::mWorldDarkCapBounds, and Ogre::Real.

Real Ogre::BillboardSet::getDefaultHeight | ( | void |  | ) | const`[virtual]`

| See setDefaultDimensions - this gets 1 component individually. Definition at line 249 of file OgreBillboardSet.cpp. References mDefaultHeight, and Ogre::Real. Referenced by Ogre::ScaleAffector::_affectParticles(), and Ogre::ParticleSystem::CmdHeight::doGet().

Real Ogre::BillboardSet::getDefaultWidth | ( | void |  | ) | const`[virtual]`

| See setDefaultDimensions - this gets 1 component individually. Definition at line 239 of file OgreBillboardSet.cpp. References mDefaultWidth, and Ogre::Real. Referenced by Ogre::ScaleAffector::_affectParticles(), and Ogre::ParticleSystem::CmdWidth::doGet().

EdgeData* Ogre::MovableObject::getEdgeList | ( | void |  | ) | `[virtual, inherited]`

| Define a default implementation of method from ShadowCaster which implements no shadows. Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. Definition at line 195 of file OgreMovableObject.h.

Real Ogre::ShadowCaster::getExtrusionDistance | ( | const Vector3 & | objectPos,
|  | const Light * | light
| ) | const`[protected, inherited]`

| Helper moethod for calculating extrusion distance. Definition at line 321 of file OgreShadowCaster.cpp. References Ogre::Light::getAttenuationRange(), Ogre::Light::getDerivedPosition(), Ogre::Vector3::length(), and Ogre::Real. Referenced by Ogre::MovableObject::getPointExtrusionDistance().

ShadowRenderableListIterator Ogre::MovableObject::getLastShadowVolumeRenderableIterator | ( | void |  | ) | `[virtual, inherited]`

| Return the last calculated shadow renderables. Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. Definition at line 206 of file OgreMovableObject.h.

const AxisAlignedBox & Ogre::MovableObject::getLightCapBounds | ( | void |  | ) | const`[virtual, inherited]`

| Overridden member from ShadowCaster. Implements Ogre::ShadowCaster. Definition at line 156 of file OgreMovableObject.cpp. References Ogre::MovableObject::getWorldBoundingBox(). Referenced by Ogre::MovableObject::getDarkCapBounds().

const LightList & Ogre::BillboardSet::getLights | ( | void |  | ) | const`[virtual]`

| @copydoc Renderable::getLights Implements Ogre::Renderable. Definition at line 992 of file OgreBillboardSet.cpp. References Ogre::SceneNode::findLights(), Ogre::MovableObject::getParentSceneNode(), and Ogre::LightList.

Material * Ogre::BillboardSet::getMaterial | ( | void |  | ) | const`[virtual]`

Overridden from MovableObject.

See also:
  MovableObject

Implements Ogre::Renderable.

Definition at line 499 of file OgreBillboardSet.cpp.

References mpMaterial.

const String & Ogre::BillboardSet::getMaterialName | ( | void |  | ) | const`[virtual]`

Sets the name of the material to be used for this billboard set.

Returns:
  The name of the material that is used for this set.

Definition at line 272 of file OgreBillboardSet.cpp.

References mMaterialName, and Ogre::String.

const String & Ogre::BillboardSet::getMovableType | ( | void |  | ) | const`[virtual]`

| Overridden from MovableObject. Implements Ogre::MovableObject. Reimplemented in Ogre::ParticleSystem. Definition at line 976 of file OgreBillboardSet.cpp. References msMovableType, and Ogre::String.

const String & Ogre::BillboardSet::getName | ( | void |  | ) | const`[virtual]`

| Overridden from MovableObject. Implements Ogre::MovableObject. Definition at line 971 of file OgreBillboardSet.cpp. References mName, and Ogre::String. Referenced by Ogre::ParticleSystemManager::parseAttrib(), and Ogre::ParticleSystemManager::parseScript().

virtual bool Ogre::Renderable::getNormaliseNormals | ( | void |  | ) | const`[virtual, inherited]`

| Returns whether or not this Renderable wishes the hardware to normalise normals. Reimplemented in Ogre::SubEntity. Definition at line 137 of file OgreRenderable.h. Referenced by Ogre::SceneManager::renderSingleObject().

int Ogre::BillboardSet::getNumBillboards | ( | void |  | ) | const`[virtual]`

| Returns the number of active billboards which currently make up this set. Definition at line 140 of file OgreBillboardSet.cpp. References mActiveBillboards.

virtual unsigned short Ogre::Renderable::getNumWorldTransforms | ( | void |  | ) | const`[virtual, inherited]`

Returns the number of world transform matrices this renderable requires.

Remarks:
  When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity.

Reimplemented in Ogre::SubEntity, and Ogre::BorderRenderable.

Definition at line 103 of file OgreRenderable.h.

Referenced by Ogre::AutoParamDataSource::getWorldMatrix(), Ogre::AutoParamDataSource::getWorldMatrixArray(), Ogre::AutoParamDataSource::getWorldMatrixCount(), and Ogre::SceneManager::renderSingleObject().

const ParamDictionary* Ogre::StringInterface::getParamDictionary | ( | void |  | ) | const`[inherited]`

| Definition at line 206 of file OgreStringInterface.h.

ParamDictionary* Ogre::StringInterface::getParamDictionary | ( | void |  | ) | `[inherited]`

Retrieves the parameter dictionary for this class.

Remarks:
  Only valid to call this after createParamDictionary.

Returns:
  Pointer to ParamDictionary shared by all instances of this class which you can add parameters to, retrieve parameters etc.

Definition at line 193 of file OgreStringInterface.h.

Referenced by Ogre::TTYGuiElement::addBaseParameters(), Ogre::TextBoxGuiElement::addBaseParameters(), Ogre::TextAreaGuiElement::addBaseParameters(), Ogre::ScrollBarGuiElement::addBaseParameters(), Ogre::PopupMenuGuiElement::addBaseParameters(), Ogre::ParticleEmitter::addBaseParameters(), Ogre::PanelGuiElement::addBaseParameters(), Ogre::ListGuiElement::addBaseParameters(), Ogre::GuiElement::addBaseParameters(), Ogre::CursorGuiElement::addBaseParameters(), Ogre::ButtonGuiElement::addBaseParameters(), Ogre::BorderPanelGuiElement::addBaseParameters(), Ogre::BorderButtonGuiElement::addBaseParameters(), Ogre::ExternalTextureSource::addBaseParams(), Ogre::CgProgram::CgProgram(), Ogre::ColourFaderAffector::ColourFaderAffector(), Ogre::ColourFaderAffector2::ColourFaderAffector2(), Ogre::ColourImageAffector::ColourImageAffector(), Ogre::ColourInterpolatorAffector::ColourInterpolatorAffector(), Ogre::D3D9HLSLProgram::D3D9HLSLProgram(), Ogre::GLSLProgram::GLSLProgram(), Ogre::HollowEllipsoidEmitter::HollowEllipsoidEmitter(), Ogre::AreaEmitter::initDefaults(), Ogre::ParticleSystem::initParameters(), Ogre::LinearForceAffector::LinearForceAffector(), Ogre::RingEmitter::RingEmitter(), Ogre::RotationAffector::RotationAffector(), Ogre::ScaleAffector::ScaleAffector(), and Ogre::StringInterface::setParameter().

virtual String Ogre::StringInterface::getParameter | ( | const String & | name | ) | const`[virtual, inherited]`

Generic parameter retrieval method.

Remarks:
  Call this method with the name of a parameter to retrieve a string-format value of the parameter in question. If in doubt, check the parameter definition in the list returned from getParameters for the type of this parameter. If you like you can use StringConverter to convert this string back into a native type.

Parameters:

  name | The name of the parameter to get

Returns:
  String value of parameter, blank if not found

Definition at line 262 of file OgreStringInterface.h.

References Ogre::ParamCommand::doGet(), Ogre::ParamDictionary::getParamCommand(), and Ogre::String.

const ParameterList& Ogre::StringInterface::getParameters | ( | void |  | ) | const`[inherited]`

Retrieves a list of parameters valid for this object.

Returns:
  A reference to a static list of ParameterDef objects.

Definition at line 224 of file OgreStringInterface.h.

References Ogre::ParamDictionary::getParameters(), and Ogre::ParameterList.

void Ogre::BillboardSet::getParametricOffsets | ( | Real & | left,
|  | Real & | right,
|  | Real & | top,
|  | Real & | bottom
| ) | `[protected]`

| Internal method, generates parametric offsets based on origin. Definition at line 708 of file OgreBillboardSet.cpp. References Ogre::BBO_BOTTOM_CENTER, Ogre::BBO_BOTTOM_LEFT, Ogre::BBO_BOTTOM_RIGHT, Ogre::BBO_CENTER, Ogre::BBO_CENTER_LEFT, Ogre::BBO_CENTER_RIGHT, Ogre::BBO_TOP_CENTER, Ogre::BBO_TOP_LEFT, Ogre::BBO_TOP_RIGHT, and Ogre::Real. Referenced by _notifyCurrentCamera().

Node * Ogre::MovableObject::getParentNode | ( | void |  | ) | const`[virtual, inherited]`

Returns the node to which this object is attached.

Remarks:
  A MovableObject may be attached to either a SceneNode or to a TagPoint, the latter case if it's attached to a bone on an animated entity. Both are Node subclasses so this method will return either.

Definition at line 75 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mParentNode.

Referenced by Ogre::TagPoint::_updateFromParent(), Ogre::Entity::detachObjectImpl(), Ogre::BspIntersectionSceneQuery::execute(), Ogre::SubEntity::getSquaredViewDepth(), Ogre::Entity::EntityShadowRenderable::getWorldOrientation(), Ogre::Entity::EntityShadowRenderable::getWorldPosition(), Ogre::TagPoint::needUpdate(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult().

SceneNode * Ogre::MovableObject::getParentSceneNode | ( | void |  | ) | const`[virtual, inherited]`

Returns the scene node to which this object is attached.

Remarks:
  A MovableObject may be attached to either a SceneNode or to a TagPoint, the latter case if it's attached to a bone on an animated entity. This method will return the scene node of the parent entity if the latter is true.

Definition at line 80 of file OgreMovableObject.cpp.

References Ogre::TagPoint::getParentEntity().

Referenced by Ogre::TerrainRenderable::getLights(), Ogre::TagPoint::getLights(), Ogre::SubEntity::getLights(), Ogre::SimpleRenderable::getLights(), and getLights().

Real Ogre::MovableObject::getPointExtrusionDistance | ( | const Light * | l | ) | const`[virtual, inherited]`

| Get the distance to extrude for a point/spot light. Implements Ogre::ShadowCaster. Definition at line 172 of file OgreMovableObject.cpp. References Ogre::Node::_getDerivedPosition(), Ogre::ShadowCaster::getExtrusionDistance(), Ogre::MovableObject::mParentNode, and Ogre::Real.

unsigned int Ogre::BillboardSet::getPoolSize | ( | void |  | ) | const`[virtual]`

Returns the current size of the billboard pool.

Returns:
  The current size of the billboard pool.

See also:
  BillboardSet::setAutoextend

Definition at line 696 of file OgreBillboardSet.cpp.

References mBillboardPool.

Referenced by createBillboard(), Ogre::ParticleSystem::getParticleQuota(), and Ogre::ParticleSystem::operator=().

virtual unsigned long Ogre::MovableObject::getQueryFlags | ( | void |  | ) | const`[virtual, inherited]`

| Returns the query flags relevant for this object. Definition at line 192 of file OgreMovableObject.h. Referenced by Ogre::OctreePlaneBoundedVolumeListSceneQuery::execute(), Ogre::OctreeSphereSceneQuery::execute(), Ogre::OctreeRaySceneQuery::execute(), Ogre::OctreeAxisAlignedBoxSceneQuery::execute(), Ogre::OctreeIntersectionSceneQuery::execute(), and Ogre::BspIntersectionSceneQuery::execute().

virtual SceneDetailLevel Ogre::Renderable::getRenderDetail | ( |  | ) | const`[virtual, inherited]`

| Returns the preferred rasterisation mode of this renderable. Reimplemented in Ogre::SubEntity. Definition at line 134 of file OgreRenderable.h. References Ogre::SceneDetailLevel, and Ogre::SDL_SOLID. Referenced by Ogre::SceneManager::renderSingleObject().

void Ogre::BillboardSet::getRenderOperation | ( | RenderOperation & | op | ) | `[virtual]`

Overridden from MovableObject.

See also:
  MovableObject

Implements Ogre::Renderable.

Definition at line 505 of file OgreBillboardSet.cpp.

References Ogre::IndexData::indexCount, Ogre::RenderOperation::indexData, Ogre::IndexData::indexStart, mIndexData, mNumVisibleBillboards, mVertexData, Ogre::RenderOperation::operationType, Ogre::RenderOperation::useIndexes, Ogre::VertexData::vertexCount, Ogre::RenderOperation::vertexData, and Ogre::VertexData::vertexStart.

RenderQueueGroupID Ogre::MovableObject::getRenderQueueGroup | ( | void |  | ) | const`[virtual, inherited]`

| Gets the queue group for this entity, see setRenderQueueGroup for full details. Definition at line 116 of file OgreMovableObject.cpp. References Ogre::MovableObject::mRenderQueueID, and Ogre::RenderQueueGroupID.

ShadowRenderableListIterator Ogre::MovableObject::getShadowVolumeRenderableIterator | ( | ShadowTechnique | shadowTechnique,
|  | const Light * | light,
|  | HardwareIndexBufferSharedPtr * | indexBuffer,
|  | bool | extrudeVertices,
|  | Real | extrusionDist,
|  | unsigned long | flags = 0
| ) | `[virtual, inherited]`

| Define a default implementation of method from ShadowCaster which implements no shadows. Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. Definition at line 197 of file OgreMovableObject.h. References Ogre::Real, and Ogre::ShadowTechnique.

Real Ogre::BillboardSet::getSquaredViewDepth | ( | const Camera * | cam | ) | const`[virtual]`

| Overridden, see Renderable. Implements Ogre::Renderable.

virtual Technique* Ogre::Renderable::getTechnique | ( | void |  | ) | const`[virtual, inherited]`

Retrieves a pointer to the Material Technique this renderable object uses.

Remarks:
  This is to allow Renderables to use a chosen Technique if they wish, otherwise they will use the best Technique available for the Material they are using.

Reimplemented in Ogre::SubEntity.

Definition at line 68 of file OgreRenderable.h.

Referenced by Ogre::RenderPriorityGroup::addRenderable().

virtual UserDefinedObject* Ogre::MovableObject::getUserObject | ( | void |  | ) | `[virtual, inherited]`

| Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject. Definition at line 153 of file OgreMovableObject.h.

const AxisAlignedBox & Ogre::MovableObject::getWorldBoundingBox | ( | bool | derive = false | ) | const`[virtual, inherited]`

Retrieves the axis-aligned bounding box for this object in world coordinates.

Implements Ogre::ShadowCaster.

Definition at line 133 of file OgreMovableObject.cpp.

References Ogre::MovableObject::_getParentNodeFullTransform(), Ogre::MovableObject::getBoundingBox(), Ogre::MovableObject::mWorldAABB, and Ogre::AxisAlignedBox::transform().

Referenced by Ogre::OctreePlaneBoundedVolumeListSceneQuery::execute(), Ogre::OctreeSphereSceneQuery::execute(), Ogre::OctreeRaySceneQuery::execute(), Ogre::OctreeAxisAlignedBoxSceneQuery::execute(), Ogre::OctreeIntersectionSceneQuery::execute(), Ogre::BspIntersectionSceneQuery::execute(), Ogre::MovableObject::getLightCapBounds(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult().

const Sphere & Ogre::MovableObject::getWorldBoundingSphere | ( | bool | derive = false | ) | const`[virtual, inherited]`

Retrieves the worldspace bounding sphere for this object.

Definition at line 145 of file OgreMovableObject.cpp.

References Ogre::Node::_getDerivedPosition(), Ogre::MovableObject::getBoundingRadius(), Ogre::MovableObject::mParentNode, Ogre::MovableObject::mWorldBoundingSphere, Ogre::Sphere::setCenter(), and Ogre::Sphere::setRadius().

Referenced by Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult().

const Quaternion & Ogre::BillboardSet::getWorldOrientation | ( | void |  | ) | const`[virtual]`

| @copydoc Renderable::getWorldOrientation Implements Ogre::Renderable. Reimplemented in Ogre::ParticleSystem. Definition at line 525 of file OgreBillboardSet.cpp. References Ogre::Node::_getDerivedOrientation(), and Ogre::MovableObject::mParentNode.

const Vector3 & Ogre::BillboardSet::getWorldPosition | ( | void |  | ) | const`[virtual]`

| @copydoc Renderable::getWorldPosition Implements Ogre::Renderable. Reimplemented in Ogre::ParticleSystem. Definition at line 530 of file OgreBillboardSet.cpp. References Ogre::Node::_getDerivedPosition(), and Ogre::MovableObject::mParentNode.

void Ogre::BillboardSet::getWorldTransforms | ( | Matrix4 * | xform | ) | const`[virtual]`

Overridden from MovableObject.

See also:
  MovableObject

Implements Ogre::Renderable.

Reimplemented in Ogre::ParticleSystem.

Definition at line 520 of file OgreBillboardSet.cpp.

References Ogre::MovableObject::_getParentNodeFullTransform().

Referenced by billboardVisible().

void Ogre::BillboardSet::increasePool | ( | unsigned int | size | ) | `[protected, virtual]`

| Internal method for increasing pool size. Reimplemented in Ogre::ParticleSystem. Definition at line 814 of file OgreBillboardSet.cpp. References mBillboardPool. Referenced by setPoolSize().

bool Ogre::MovableObject::isAttached | ( | void |  | ) | const`[virtual, inherited]`

| Returns true if this object is attached to a SceneNode or TagPoint. Definition at line 93 of file OgreMovableObject.cpp. References Ogre::MovableObject::mParentNode. Referenced by Ogre::Entity::attachObjectToBone().

bool Ogre::MovableObject::isVisible | ( | void |  | ) | const`[virtual, inherited]`

| Returns whether or not this object is supposed to be visible or not. Definition at line 104 of file OgreMovableObject.cpp. References Ogre::MovableObject::mVisible. Referenced by Ogre::OctreeNode::_addToRenderQueue(), Ogre::SceneManager::_populateLightList(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult().

void Ogre::BillboardSet::removeBillboard | ( | Billboard * | pBill | ) | `[virtual]`

Removes a billboard from the set.

Note:
  This version is more efficient than removing by index.

Definition at line 209 of file OgreBillboardSet.cpp.

References mActiveBillboards, and mFreeBillboards.

void Ogre::BillboardSet::removeBillboard | ( | unsigned int | index | ) | `[virtual]`

Removes the billboard at the supplied index.

Note:
  This method requires linear time since the billboard list is a linked list.

Definition at line 181 of file OgreBillboardSet.cpp.

References mActiveBillboards, and mFreeBillboards.

virtual void Ogre::MovableObject::removeQueryFlags | ( | unsigned long | flags | ) | `[virtual, inherited]`

| As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. Definition at line 189 of file OgreMovableObject.h.

void Ogre::BillboardSet::setAutoextend | ( | bool | autoextend | ) | `[virtual]`

Tells the set whether to allow automatic extension of the pool of billboards.

Remarks:
  A BillboardSet stores a pool of pre-constructed billboards which are used as needed when a new billboard is requested. This allows applications to create / remove billboards efficiently without incurring construction / destruction costs (a must for sets with lots of billboards like particle effects). This method allows you to configure the behaviour when a new billboard is requested but the billboard pool has been exhausted.

  The default behaviour is to allow the pool to extend (typically this allocates double the current pool of billboards when the pool is expended), equivalent to calling this method with autoExtend = true. If you set the parameter to false however, any attempt to create a new billboard when the pool has expired will simply fail silently, returning a null pointer.

Parameters:

  autoextend | true to double the pool every time it runs out, false to fail silently.

Definition at line 535 of file OgreBillboardSet.cpp.

References mAutoExtendPool.

void Ogre::BillboardSet::setBillboardOrigin | ( | BillboardOrigin | origin | ) | `[virtual]`

Sets the point which acts as the origin point for all billboards in this set.

Remarks:
  This setting controls the fine tuning of where a billboard appears in relation to it's position. It could be that a billboard's position represents it's center (e.g. for fireballs), it could mean the center of the bottom edge (e.g. a tree which is positioned on the ground), the top-left corner (e.g. a cursor).

  The default setting is BBO_CENTER.

Parameters:

  origin | A member of the BillboardOrigin enum specifying the origin for all the billboards in this set.

Definition at line 216 of file OgreBillboardSet.cpp.

References Ogre::BillboardOrigin, and mOriginType.

void Ogre::BillboardSet::setBillboardType | ( | BillboardType | bbt | ) | `[virtual]`

Sets the type of billboard to render.

Remarks:
  The default sort of billboard (BBT_POINT), always has both x and y axes parallel to the camera's local axes. This is fine for 'point' style billboards (e.g. flares, smoke, anything which is symmetrical about a central point) but does not look good for billboards which have an orientation (e.g. an elongated raindrop). In this case, the oriented billboards are more suitable (BBT_ORIENTED_COMMON or BBT_ORIENTED_SELF) since they retain an independant Y axis and only the X axis is generated, perpendicular to both the local Y and the camera Z.

Parameters:

  bbt | The type of billboard to render

Definition at line 869 of file OgreBillboardSet.cpp.

References Ogre::BillboardType, and mBillboardType.

void Ogre::MovableObject::setCastShadows | ( | bool | enabled | ) | `[inherited]`

Sets whether or not this object will cast shadows.

Remarks:
  This setting simply allows you to turn on/off shadows for a given object. An object will not cast shadows unless the scene supports it in any case (see SceneManager::setShadowTechnique), and also the material which is in use must also have shadow casting enabled. By default all entities cast shadows. If, however, for some reason you wish to disable this for a single object then you can do so using this method.

Note:
  This method normally refers to objects which block the light, but since Light is also a subclass of MovableObject, in that context it means whether the light causes shadows itself.

Definition at line 229 of file OgreMovableObject.h.

Referenced by Ogre::Entity::Entity(), Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::SceneManager::setSkyPlane().

void Ogre::BillboardSet::setCommonDirection | ( | const Vector3 & | vec | ) | `[virtual]`

Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON.

Remarks:
  Use BBT_ORIENTED_COMMON when you want oriented billboards but you know they are always going to be oriented the same way (e.g. rain in calm weather). It is faster for the system to calculate the billboard vertices if they have a common direction.

Parameters:

  vec | The direction for all billboards.

Definition at line 879 of file OgreBillboardSet.cpp.

References mCommonDirection.

void Ogre::BillboardSet::setCullIndividually | ( | bool | cullIndividual | ) | `[virtual]`

Sets whether culling tests billboards in this individually as well as in a group.

Remarks:
  Billboard sets are always culled as a whole group, based on a bounding box which encloses all billboards in the set. For fairly localised sets, this is enough. However, you can optionally tell the set to also cull individual billboards in the set, i.e. to test each individual billboard before rendering. The default is not to do this.

  This is useful when you have a large, fairly distributed set of billboards, like maybe trees on a landscape. You probably still want to group them into more than one set (maybe one set per section of landscape), which will be culled coarsely, but you also want to cull the billboards individually because they are spread out. Whilst you could have lots of single-tree sets which are culled separately, this would be inefficient to render because each tree would be issued as it's own rendering operation.

  By calling this method with a parameter of true, you can have large billboard sets which are spaced out and so get the benefit of batch rendering and coarse culling, but also have fine-grained culling so unnecessary rendering is avoided.

Parameters:

  cullIndividual | If true, each billboard is tested before being sent to the pipeline as well as the whole set having to pass the coarse group bounding test.

Definition at line 783 of file OgreBillboardSet.cpp.

References mCullIndividual.

void Ogre::Renderable::setCustomParameter | ( | size_t | index,
|  | const Vector4 & | value
| ) | `[inherited]`

Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.

Remarks:
  Calling this method simply associates a numeric index with a 4-dimensional value for this specific Renderable. This is most useful if the material which this Renderable uses a vertex or fragment program, and has an ACT_CUSTOM parameter entry. This parameter entry can refer to the index you specify as part of this call, thereby mapping a custom parameter for this renderable to a program parameter.

Parameters:

  index | The index with which to associate the value. Note that this does not have to start at 0, and can include gaps. It also has no direct correlation with a GPU program parameter index - the mapping between the two is performed by the ACT_CUSTOM entry, if that is used.
  value | The value to associate.

Definition at line 170 of file OgreRenderable.h.

void Ogre::BillboardSet::setDefaultDimensions | ( | Real | width,
|  | Real | height
| ) | `[virtual]`

Sets the default dimensions of the billboards in this set.

Remarks:
  All billboards in a set are created with these default dimensions. The set will render most efficiently if all the billboards in the set are the default size. It is possible to alter the size of individual billboards at the expense of extra calculation. See the Billboard class for more info.

Parameters:

  width | The new default width for the billboards in this set.
  height | The new default height for the billboards in this set.

Definition at line 228 of file OgreBillboardSet.cpp.

References mDefaultHeight, mDefaultWidth, and Ogre::Real.

Referenced by BillboardSet(), and Ogre::ParticleSystem::ParticleSystem().

void Ogre::BillboardSet::setDefaultHeight | ( | Real | height | ) | `[virtual]`

| See setDefaultDimensions - this sets 1 component individually. Definition at line 244 of file OgreBillboardSet.cpp. References mDefaultHeight, and Ogre::Real.

void Ogre::BillboardSet::setDefaultWidth | ( | Real | width | ) | `[virtual]`

| See setDefaultDimensions - this sets 1 component individually. Definition at line 234 of file OgreBillboardSet.cpp. References mDefaultWidth, and Ogre::Real.

void Ogre::BillboardSet::setMaterialName | ( | const String & | name | ) | `[virtual]`

Sets the name of the material to be used for this billboard set.

Parameters:

  name | The new name of the material to use for this set.

Definition at line 254 of file OgreBillboardSet.cpp.

References Except, Ogre::Material::load(), mMaterialName, mpMaterial, and Ogre::String.

Referenced by BillboardSet(), Ogre::ParticleSystem::operator=(), and Ogre::ParticleSystem::ParticleSystem().

bool Ogre::StringInterface::setParameter | ( | const String & | name,
|  | const String & | value
| ) | `[virtual, inherited]`

Generic parameter setting method.

Remarks:
  Call this method with the name of a parameter and a string version of the value to set. The implementor will convert the string to a native type internally. If in doubt, check the parameter definition in the list returned from StringInterface::getParameters.

Parameters:

  name | The name of the parameter to set
  value | String value. Must be in the right format for the type specified in the parameter definition. See the StringConverter class for more information.

Returns:
  true if set was successful, false otherwise (NB no exceptions thrown - tolerant method)

Definition at line 33 of file OgreStringInterface.cpp.

References Ogre::ParamCommand::doSet(), Ogre::ParamDictionary::getParamCommand(), Ogre::StringInterface::getParamDictionary(), and Ogre::String.

Referenced by Ogre::StringInterface::copyParametersTo(), Ogre::Profiler::createContainer(), Ogre::Profiler::createTextArea(), Ogre::MaterialSerializer::finishProgramDefinition(), Ogre::ParticleSystemManager::parseAffectorAttrib(), Ogre::ParticleSystemManager::parseAttrib(), Ogre::OverlayManager::parseElementAttrib(), and Ogre::ParticleSystemManager::parseEmitterAttrib().

void Ogre::BillboardSet::setPoolSize | ( | unsigned int | size | ) | `[virtual]`

Adjusts the size of the pool of billboards available in this set.

Remarks:
  See the BillboardSet::setAutoextend method for full details of the billboard pool. This method adjusts the preallocated size of the pool. If you try to reduce the size of the pool, the set has the option of ignoring you if too many billboards are already in use. Bear in mind that calling this method will incur significant construction / destruction calls so should be avoided in time-critical code. The same goes for auto-extension, try to avoid it by estimating the pool size correctly up-front.

Parameters:

  size | The new size for the pool.

Definition at line 547 of file OgreBillboardSet.cpp.

References increasePool(), mBillboardPool, mBuffersCreated, mFreeBillboards, mIndexData, mPoolSize, and mVertexData.

Referenced by BillboardSet(), createBillboard(), Ogre::ParticleSystem::operator=(), Ogre::ParticleSystem::ParticleSystem(), and Ogre::ParticleSystem::setParticleQuota().

virtual void Ogre::MovableObject::setQueryFlags | ( | unsigned long | flags | ) | `[virtual, inherited]`

Sets the query flags for this object.

Remarks:
  When performing a scene query, this object will be included or excluded according to flags on the object and flags on the query. This is a bitwise value, so only when a bit on these flags is set, will it be included in a query asking for that flag. The meaning of the bits is application-specific.

Definition at line 181 of file OgreMovableObject.h.

void Ogre::MovableObject::setRenderQueueGroup | ( | RenderQueueGroupID | queueID | ) | `[virtual, inherited]`

Sets the render queue group this entity will be rendered through.

Remarks:
  Render queues are grouped to allow you to more tightly control the ordering of rendered objects. If you do not call this method, all Entity objects default to the default queue (RenderQueue::getDefaultQueueGroup), which is fine for most objects. You may want to alter this if you want this entity to always appear in front of other objects, e.g. for a 3D menu system or such.

  See RenderQueue for more details.

Parameters:

  queueID | Enumerated value of the queue group to use.

Reimplemented in Ogre::Entity.

Definition at line 110 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mRenderQueueID, Ogre::MovableObject::mRenderQueueIDSet, and Ogre::RenderQueueGroupID.

virtual void Ogre::MovableObject::setUserObject | ( | UserDefinedObject * | obj | ) | `[virtual, inherited]`

Call this to associate your own custom user object instance with this MovableObject.

Remarks:
  By simply making your game / application object a subclass of UserDefinedObject, you can establish a link between an OGRE instance of MovableObject and your own application classes. Call this method to establish the link.

Definition at line 149 of file OgreMovableObject.h.

void Ogre::MovableObject::setVisible | ( | bool | visible | ) | `[virtual, inherited]`

| Tells this object whether to be visible or not, if it has a renderable component. Reimplemented in Ogre::Light. Definition at line 99 of file OgreMovableObject.cpp. References Ogre::MovableObject::mVisible.

void Ogre::ShadowCaster::updateEdgeListLightFacing | ( | EdgeData * | edgeData,
|  | const Vector4 & | lightPos
| ) | `[protected, virtual, inherited]`

Tells the caster to perform the tasks necessary to update the edge data's light listing.

Can be overridden if the subclass needs to do additional things.

Parameters:

  edgeData | The edge information to update
  lightPos | 4D vector representing the light, a directional light has w=0.0

Definition at line 31 of file OgreShadowCaster.cpp.

References Ogre::EdgeData::updateTriangleLightFacing().

Referenced by Ogre::Entity::getShadowVolumeRenderableIterator().

virtual bool Ogre::Renderable::useIdentityProjection | ( | void |  | ) | const`[virtual, inherited]`

Returns whether or not to use an 'identity' projection.

Remarks:
  Usually Renderable objects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normal renderables need not override this.

Reimplemented in Ogre::GuiElement, Ogre::Rectangle2D, and Ogre::BorderRenderable.

Definition at line 113 of file OgreRenderable.h.

Referenced by Ogre::SceneManager::useRenderableViewProjMode().

virtual bool Ogre::Renderable::useIdentityView | ( | void |  | ) | const`[virtual, inherited]`

Returns whether or not to use an 'identity' projection.

Remarks:
  Usually Renderable objects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normal renderables need not override this.

Reimplemented in Ogre::GuiElement, Ogre::Rectangle2D, and Ogre::BorderRenderable.

Definition at line 123 of file OgreRenderable.h.

Referenced by Ogre::SceneManager::useRenderableViewProjMode().

## Member Data Documentation

AxisAlignedBox Ogre::BillboardSet::mAABB`[protected]`

| Bounds of all billboards in this set. Definition at line 91 of file OgreBillboardSet.h. Referenced by Ogre::ParticleSystem::_updateBounds(), _updateBounds(), and getBoundingBox().

ActiveBillboardList Ogre::BillboardSet::mActiveBillboards`[protected]`

Active billboard list.

Remarks:
  This is a linked list of pointers to billboards in the billboard pool.

  This allows very fast instertions and deletions from anywhere in the list to activate / deactivate billboards (required for particle systems etc) as well as resuse of Billboard instances in the pool without construction & destruction which avoids memory thrashing.

Definition at line 128 of file OgreBillboardSet.h.

Referenced by Ogre::ParticleSystem::_applyMotion(), Ogre::ParticleSystem::_expire(), Ogre::ParticleSystem::_getIterator(), _notifyCurrentCamera(), Ogre::ParticleSystem::_triggerEmitters(), _updateBounds(), Ogre::ParticleSystem::addParticle(), clear(), createBillboard(), getBillboard(), getNumBillboards(), Ogre::ParticleSystem::getNumParticles(), and removeBillboard().

bool Ogre::BillboardSet::mAllDefaultSize`[protected]`

| True if no billboards in this set have been resized - greater efficiency. Definition at line 109 of file OgreBillboardSet.h. Referenced by _notifyBillboardResized(), and Ogre::ParticleSystem::ParticleSystem().

bool Ogre::BillboardSet::mAutoExtendPool`[protected]`

| Flag indicating whether to autoextend pool. Definition at line 112 of file OgreBillboardSet.h. Referenced by getAutoextend(), Ogre::ParticleSystem::ParticleSystem(), and setAutoextend().

BillboardPool Ogre::BillboardSet::mBillboardPool`[protected]`

Pool of billboard instances for use and reuse in the active billboard list.

Remarks:
  This vector will be preallocated with the estimated size of the set,and will extend as required.

Definition at line 143 of file OgreBillboardSet.h.

Referenced by getPoolSize(), Ogre::ParticleSystem::increasePool(), increasePool(), setPoolSize(), and ~BillboardSet().

BillboardType Ogre::BillboardSet::mBillboardType`[protected]`

| The type of billboard to render. Definition at line 164 of file OgreBillboardSet.h. Referenced by _notifyCurrentCamera(), getBillboardType(), Ogre::ParticleSystem::operator=(), and setBillboardType().

Real Ogre::BillboardSet::mBoundingRadius`[protected]`

| Bounding radius. Definition at line 93 of file OgreBillboardSet.h. Referenced by _updateBounds(), and getBoundingRadius().

bool Ogre::BillboardSet::mBuffersCreated`[private]`

| Flag indicating whether the HW buffers have been created. Definition at line 220 of file OgreBillboardSet.h. Referenced by _createBuffers(), _notifyCurrentCamera(), and setPoolSize().

bool Ogre::MovableObject::mCastShadows`[protected, inherited]`

| Does this object cast shadows? Definition at line 67 of file OgreMovableObject.h. Referenced by BillboardSet(), and Ogre::MovableObject::MovableObject().

Vector3 Ogre::BillboardSet::mCommonDirection`[protected]`

| Common direction for billboards of type BBT_ORIENTED_COMMON. Definition at line 167 of file OgreBillboardSet.h. Referenced by Ogre::ParticleSystem::genBillboardAxes(), genBillboardAxes(), getCommonDirection(), Ogre::ParticleSystem::operator=(), and setCommonDirection().

bool Ogre::BillboardSet::mCullIndividual`[protected]`

| Flag indicating whether each billboard should be culled separately (default: false). Definition at line 161 of file OgreBillboardSet.h. Referenced by billboardVisible(), getCullIndividually(), Ogre::ParticleSystem::operator=(), Ogre::ParticleSystem::ParticleSystem(), and setCullIndividually().

CustomParameterMap Ogre::Renderable::mCustomParameters`[protected, inherited]`

| Definition at line 233 of file OgreRenderable.h.

Real Ogre::BillboardSet::mDefaultHeight`[protected]`

| Default height of each billboard. Definition at line 101 of file OgreBillboardSet.h. Referenced by _notifyCurrentCamera(), _updateBounds(), billboardVisible(), getDefaultHeight(), Ogre::ParticleSystem::operator=(), setDefaultDimensions(), and setDefaultHeight().

Real Ogre::BillboardSet::mDefaultWidth`[protected]`

| Default width of each billboard. Definition at line 99 of file OgreBillboardSet.h. Referenced by _notifyCurrentCamera(), _updateBounds(), billboardVisible(), getDefaultWidth(), Ogre::ParticleSystem::operator=(), setDefaultDimensions(), and setDefaultWidth().

bool Ogre::BillboardSet::mFixedTextureCoords`[protected]`

| Definition at line 114 of file OgreBillboardSet.h. Referenced by _notifyCurrentCamera(), and genVertices().

FreeBillboardQueue Ogre::BillboardSet::mFreeBillboards`[protected]`

Free billboard queue.

Remarks:
  This contains a list of the billboards free for use as new instances as required by the set. Billboard instances are preconstructed up to the estimated size in the mBillboardPool vector and are referenced on this deque at startup. As they get used this deque reduces, as they get released back to to the set they get added back to the deque.

Definition at line 137 of file OgreBillboardSet.h.

Referenced by Ogre::ParticleSystem::_expire(), Ogre::ParticleSystem::addParticle(), clear(), createBillboard(), removeBillboard(), and setPoolSize().

IndexData* Ogre::BillboardSet::mIndexData`[protected]`

| The vertex index data for all billboards in this set (1 set only). Definition at line 158 of file OgreBillboardSet.h. Referenced by _createBuffers(), getRenderOperation(), Ogre::ParticleSystem::ParticleSystem(), setPoolSize(), and ~BillboardSet().

String Ogre::BillboardSet::mMaterialName`[protected]`

| Name of the material to use. Definition at line 104 of file OgreBillboardSet.h. Referenced by getMaterialName(), Ogre::ParticleSystem::operator=(), and setMaterialName().

String Ogre::BillboardSet::mName`[protected]`

| Name of the entity; used for location in the scene. Definition at line 88 of file OgreBillboardSet.h. Referenced by getName(), and Ogre::ParticleSystem::ParticleSystem().

unsigned short Ogre::BillboardSet::mNumVisibleBillboards`[protected]`

| Definition at line 173 of file OgreBillboardSet.h. Referenced by _notifyCurrentCamera(), and getRenderOperation().

BillboardOrigin Ogre::BillboardSet::mOriginType`[protected]`

| Origin of each billboard. Definition at line 96 of file OgreBillboardSet.h. Referenced by getBillboardOrigin(), Ogre::ParticleSystem::operator=(), Ogre::ParticleSystem::ParticleSystem(), and setBillboardOrigin().

String Ogre::StringInterface::mParamDictName`[protected, inherited]`

| Class name for this instance to be used as a lookup (must be initialised by subclasses). Definition at line 157 of file OgreStringInterface.h.

bool Ogre::MovableObject::mParentIsTagPoint`[protected, inherited]`

| Definition at line 49 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::_notifyAttached(), and Ogre::MovableObject::MovableObject().

Node* Ogre::MovableObject::mParentNode`[protected, inherited]`

node to which this object is attached

Definition at line 48 of file OgreMovableObject.h.

Referenced by Ogre::MovablePlane::_getDerivedPlane(), Ogre::MovableObject::_getParentNodeFullTransform(), Ogre::MovableObject::_notifyAttached(), Ogre::Entity::_notifyCurrentCamera(), Ogre::ParticleSystem::_triggerEmitters(), Ogre::ParticleSystem::_updateBounds(), _updateBounds(), Ogre::Entity::attachObjectToBone(), Ogre::Camera::Camera(), Ogre::Entity::detachAllObjectsFromBone(), Ogre::Entity::detachObjectFromBone(), Ogre::Frustum::Frustum(), genBillboardAxes(), Ogre::Entity::getBoundingRadius(), Ogre::MovableObject::getParentNode(), Ogre::MovableObject::getPointExtrusionDistance(), Ogre::Entity::getShadowVolumeRenderableIterator(), Ogre::Frustum::getSquaredViewDepth(), Ogre::MovableObject::getWorldBoundingSphere(), Ogre::TerrainRenderable::getWorldOrientation(), Ogre::SubEntity::getWorldOrientation(), Ogre::SimpleRenderable::getWorldOrientation(), Ogre::ParticleSystem::getWorldOrientation(), Ogre::Frustum::getWorldOrientation(), getWorldOrientation(), Ogre::TerrainRenderable::getWorldPosition(), Ogre::SubEntity::getWorldPosition(), Ogre::SimpleRenderable::getWorldPosition(), Ogre::ParticleSystem::getWorldPosition(), Ogre::Frustum::getWorldPosition(), getWorldPosition(), Ogre::TerrainRenderable::getWorldTransforms(), Ogre::SimpleRenderable::getWorldTransforms(), Ogre::Frustum::getWorldTransforms(), Ogre::MovableObject::isAttached(), Ogre::Frustum::isViewOutOfDate(), Ogre::Camera::isViewOutOfDate(), Ogre::Light::Light(), Ogre::MovableObject::MovableObject(), Ogre::SimpleRenderable::SimpleRenderable(), Ogre::Light::update(), and Ogre::Entity::updateAnimation().

Material* Ogre::BillboardSet::mpMaterial`[protected]`

| Pointer to the material to use. Definition at line 106 of file OgreBillboardSet.h. Referenced by getMaterial(), and setMaterialName().

unsigned int Ogre::BillboardSet::mPoolSize`[private]`

| The number of billboard in the pool. Definition at line 222 of file OgreBillboardSet.h. Referenced by _createBuffers(), and setPoolSize().

unsigned long Ogre::MovableObject::mQueryFlags`[protected, inherited]`

| Flags determining whether this object is included / excluded from scene queries. Definition at line 59 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject(), and Ogre::TerrainRenderable::TerrainRenderable().

RenderQueueGroupID Ogre::MovableObject::mRenderQueueID`[protected, inherited]`

| The render queue to use when rendering this object. Definition at line 55 of file OgreMovableObject.h. Referenced by Ogre::SimpleRenderable::_updateRenderQueue(), Ogre::Entity::_updateRenderQueue(), _updateRenderQueue(), Ogre::MovableObject::getRenderQueueGroup(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setRenderQueueGroup().

bool Ogre::MovableObject::mRenderQueueIDSet`[protected, inherited]`

| Flags whether the RenderQueue's default should be used. Definition at line 57 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setRenderQueueGroup().

ParamDictionaryMap Ogre::StringInterface::msDictionary`[static, protected, inherited]`

| Dictionary of parameters. Definition at line 30 of file OgreStringInterface.cpp. Referenced by Ogre::StringInterface::cleanupDictionary().

const PlaneList Ogre::Renderable::msDummyPlaneList`[static, protected, inherited]`

| Definition at line 45 of file OgreRenderSystem.cpp.

String Ogre::BillboardSet::msMovableType = "BillboardSet"`[static, protected]`

| Shared class-level name for Movable type. Definition at line 44 of file OgreBillboardSet.cpp. Referenced by getMovableType().

UserDefinedObject* Ogre::MovableObject::mUserObject`[protected, inherited]`

| User defined object which is linked to this object. Definition at line 53 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject().

VertexData* Ogre::BillboardSet::mVertexData`[protected]`

| The vertex position data for all billboards in this set. Definition at line 148 of file OgreBillboardSet.h. Referenced by _createBuffers(), _notifyCurrentCamera(), getRenderOperation(), Ogre::ParticleSystem::ParticleSystem(), setPoolSize(), and ~BillboardSet().

bool Ogre::MovableObject::mVisible`[protected, inherited]`

| Is this object visible? Definition at line 51 of file OgreMovableObject.h. Referenced by Ogre::Camera::Camera(), Ogre::Frustum::Frustum(), Ogre::MovableObject::isVisible(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setVisible().

AxisAlignedBox Ogre::MovableObject::mWorldAABB`[protected, inherited]`

| Cached world AABB of this object. Definition at line 61 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getWorldBoundingBox(), and Ogre::MovableObject::MovableObject().

Sphere Ogre::MovableObject::mWorldBoundingSphere`[protected, inherited]`

| Definition at line 63 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getWorldBoundingSphere().

AxisAlignedBox Ogre::MovableObject::mWorldDarkCapBounds`[protected, inherited]`

| World space AABB of this object's dark cap. Definition at line 65 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getDarkCapBounds().

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

- OgreBillboardSet.h
- OgreBillboardSet.cpp

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:50:48 2004