![]() |
OGRE 1.12.10
Object-Oriented Graphics Rendering Engine
|
Subclass of BillboardChain which automatically leaves a trail behind one or more Node instances. More...
#include <OgreRibbonTrail.h>
Public Types | |
typedef ConstVectorIterator< NodeList > | NodeIterator |
typedef std::vector< Node * > | NodeList |
![]() | |
typedef std::vector< Element > | ElementList |
enum | TexCoordDirection { TCD_U , TCD_V } |
The direction in which texture coordinates from elements of the chain are used. More... | |
![]() | |
typedef std::vector< ShadowRenderable * > | ShadowRenderableList |
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
![]() | |
enum | { DEFAULT_PRIORITY = 100 } |
typedef SharedPtr< RenderSystemData > | RenderSystemDataPtr |
Public Member Functions | |
RibbonTrail (const String &name, size_t maxElements=20, size_t numberOfChains=1, bool useTextureCoords=true, bool useVertexColours=true) | |
Constructor (don't use directly, use factory) | |
virtual | ~RibbonTrail () |
destructor | |
virtual void | _timeUpdate (Real time) |
Perform any fading / width delta required; internal method. | |
virtual void | addNode (Node *n) |
Add a node to be tracked. | |
void | clearChain (size_t chainIndex) |
Remove all elements of a given chain (but leave the chain intact). | |
virtual size_t | getChainIndexForNode (const Node *n) |
Get the chain index for a given Node being tracked. | |
virtual const ColourValue & | getColourChange (size_t chainIndex) const |
Get the per-second fading amount. | |
virtual const ColourValue & | getInitialColour (size_t chainIndex) const |
Get the starting ribbon colour. | |
virtual Real | getInitialWidth (size_t chainIndex) const |
Get the starting ribbon width in world units. | |
const String & | getMovableType (void) const override |
Returns the type name of this object. | |
virtual NodeIterator | getNodeIterator (void) const |
Get an iterator over the nodes which are being tracked. | |
virtual Real | getTrailLength (void) const |
Get the length of the trail. | |
virtual Real | getWidthChange (size_t chainIndex) const |
Get the change in ribbon width per second. | |
void | nodeDestroyed (const Node *node) |
void | nodeUpdated (const Node *node) |
virtual void | removeNode (const Node *n) |
Remove tracking on a given node. | |
virtual void | setColourChange (size_t chainIndex, const ColourValue &valuePerSecond) |
Enables / disables fading the trail using colour. | |
virtual void | setColourChange (size_t chainIndex, float r, float g, float b, float a) |
Enables / disables fading the trail using colour. | |
virtual void | setInitialColour (size_t chainIndex, const ColourValue &col) |
Set the starting ribbon colour for a given segment. | |
virtual void | setInitialColour (size_t chainIndex, float r, float g, float b, float a=1.0) |
Set the starting ribbon colour. | |
virtual void | setInitialWidth (size_t chainIndex, Real width) |
Set the starting ribbon width in world units. | |
void | setMaxChainElements (size_t maxElements) |
Set the maximum number of chain elements per chain. | |
void | setNumberOfChains (size_t numChains) |
Set the number of chain segments (this class can render multiple chains at once using the same material). | |
virtual void | setTrailLength (Real len) |
Set the length of the trail. | |
virtual void | setWidthChange (size_t chainIndex, Real widthDeltaPerSecond) |
Set the change in ribbon width per second. | |
![]() | |
BillboardChain (const String &name, size_t maxElements=20, size_t numberOfChains=1, bool useTextureCoords=true, bool useColours=true, bool dynamic=true) | |
Constructor (don't use directly, use factory) | |
~BillboardChain () | |
void | _updateRenderQueue (RenderQueue *) |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |
virtual void | addChainElement (size_t chainIndex, const Element &billboardChainElement) |
Add an element to the 'head' of a chain. | |
virtual void | clearAllChains (void) |
Remove all elements from all chains (but leave the chains themselves intact). | |
const AxisAlignedBox & | getBoundingBox (void) const |
Retrieves the local axis-aligned bounding box for this object. | |
Real | getBoundingRadius (void) const |
Retrieves the radius of the origin-centered bounding sphere for this object. | |
virtual const Element & | getChainElement (size_t chainIndex, size_t elementIndex) const |
Get the detail of a chain element. | |
virtual bool | getDynamic (void) const |
Gets whether or not the buffers created for this object are suitable for dynamic alteration. | |
const LightList & | getLights (void) const |
Gets a list of lights, ordered relative to how close they are to this renderable. | |
const MaterialPtr & | getMaterial (void) const |
Retrieves a weak reference to the material this renderable object uses. | |
virtual const String & | getMaterialName (void) const |
Get the material name in use. | |
virtual size_t | getMaxChainElements (void) const |
Get the maximum number of chain elements per chain. | |
virtual size_t | getNumberOfChains (void) const |
Get the number of chain segments (this class can render multiple chains at once using the same material). | |
virtual size_t | getNumChainElements (size_t chainIndex) const |
Returns the number of chain elements. | |
virtual const Real * | getOtherTextureCoordRange (void) const |
Get the range of the texture coordinates generated across the width of the chain elements. | |
void | getRenderOperation (RenderOperation &) |
Gets the render operation required to send this object to the frame buffer. | |
Real | getSquaredViewDepth (const Camera *cam) const |
Returns the camera-relative squared depth of this renderable. | |
virtual TexCoordDirection | getTextureCoordDirection (void) |
Gets the direction in which texture coords specified on each element are deemed to run. | |
virtual bool | getUseTextureCoords (void) const |
Gets whether texture coordinate information should be included in the final buffers generated. | |
virtual bool | getUseVertexColours (void) const |
Gets whether vertex colour information should be included in the final buffers generated. | |
void | getWorldTransforms (Matrix4 *) const |
Gets the world transform matrix / matrices for this renderable object. | |
virtual bool | preRender (SceneManager *sm, RenderSystem *rsys) |
Called just prior to the Renderable being rendered. | |
virtual void | removeChainElement (size_t chainIndex) |
Remove an element from the 'tail' of a chain. | |
virtual void | setDynamic (bool dyn) |
Sets whether or not the buffers created for this object are suitable for dynamic alteration. | |
void | setFaceCamera (bool faceCamera, const Vector3 &normalVector=Vector3::UNIT_X) |
Sets whether the billboard should always be facing the camera or a custom direction set by each point element. | |
virtual void | setMaterialName (const String &name, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Set the material name to use for rendering. | |
virtual void | setOtherTextureCoordRange (Real start, Real end) |
Set the range of the texture coordinates generated across the width of the chain elements. | |
virtual void | setTextureCoordDirection (TexCoordDirection dir) |
Sets the direction in which texture coords specified on each element are deemed to run along the length of the chain. | |
virtual void | setUseTextureCoords (bool use) |
Sets whether texture coordinate information should be included in the final buffers generated. | |
virtual void | setUseVertexColours (bool use) |
Sets whether vertex colour information should be included in the final buffers generated. | |
virtual void | updateChainElement (size_t chainIndex, size_t elementIndex, const Element &billboardChainElement) |
Update the details of an existing chain element. | |
void | visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any. | |
![]() | |
MovableObject () | |
Constructor. | |
MovableObject (const String &name) | |
Named constructor. | |
virtual | ~MovableObject () |
Virtual destructor - read Scott Meyers if you don't know why this is needed. | |
MovableObjectFactory * | _getCreator (void) const |
Get the creator of this object, if any (internal use only) | |
LightList * | _getLightList () |
Returns a pointer to the current list of lights for this object. | |
SceneManager * | _getManager (void) const |
Get the manager of this object, if any (internal use only) | |
virtual const Affine3 & | _getParentNodeFullTransform (void) const |
Return the full transformation of the parent sceneNode or the attachingPoint node. | |
virtual void | _notifyAttached (Node *parent, bool isTagPoint=false) |
Internal method called to notify the object that it has been attached to a node. | |
virtual void | _notifyCreator (MovableObjectFactory *fact) |
Notify the object of it's creator (internal use only) | |
virtual void | _notifyCurrentCamera (Camera *cam) |
Internal method to notify the object of the camera to be used for the next rendering operation. | |
virtual void | _notifyManager (SceneManager *man) |
Notify the object of it's manager (internal use only) | |
virtual void | _notifyMoved (void) |
Internal method called to notify the object that it has been moved. | |
virtual void | _releaseManualHardwareResources () |
Notifies the movable object that hardware resources were lost. | |
virtual void | _restoreManualHardwareResources () |
Notifies the movable object that hardware resources should be restored. | |
void | addQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
void | addVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
void | detachFromParent (void) |
Detaches an object from a parent SceneNode or TagPoint, if attached. | |
Real | getBoundingRadiusScaled () const |
as getBoundingRadius, but with scaling applied | |
bool | getCastShadows (void) const |
Returns whether shadow casting is enabled for this object. | |
const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const override |
Gets the world space bounding box of the dark cap, as extruded using the light provided. | |
EdgeData * | getEdgeList (void) |
Returns details of the edges which might be used to determine a silhouette. | |
const AxisAlignedBox & | getLightCapBounds (void) const override |
Gets the world space bounding box of the light cap. | |
uint32 | getLightMask () const |
Get a bitwise mask which will filter the lights affecting this object. | |
Listener * | getListener (void) const |
Gets the current listener for this object. | |
const String & | getName (void) const |
Returns the name of this object. | |
Node * | getParentNode (void) const |
Returns the node to which this object is attached. | |
SceneNode * | getParentSceneNode (void) const |
Returns the scene node to which this object is attached. | |
Real | getPointExtrusionDistance (const Light *l) const |
Get the distance to extrude for a point/spot light. | |
virtual uint32 | getQueryFlags (void) const |
Returns the query flags relevant for this object. | |
bool | getReceivesShadows () |
Returns whether the Material of any Renderable that this MovableObject will add to the render queue will receive shadows. | |
Real | getRenderingDistance (void) const |
Gets the distance at which batches are no longer rendered. | |
Real | getRenderingMinPixelSize () const |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered. | |
uint8 | getRenderQueueGroup (void) const |
Gets the queue group for this entity. | |
const ShadowRenderableList & | getShadowVolumeRenderableList (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, size_t *indexBufferUsedSize, bool extrudeVertices, Real extrusionDist, unsigned long flags=0) |
Define a default implementation of method from ShadowCaster which implements no shadows. | |
virtual uint32 | getTypeFlags (void) const |
Get the 'type flags' for this MovableObject. | |
const Any & | getUserAny (void) const |
UserObjectBindings & | getUserObjectBindings () |
Return an instance of user objects binding associated with this class. | |
const UserObjectBindings & | getUserObjectBindings () const |
Return an instance of user objects binding associated with this class. | |
virtual uint32 | getVisibilityFlags (void) const |
Returns the visibility flags relevant for this object. | |
bool | getVisible (void) const |
Gets this object whether to be visible or not, if it has a renderable component. | |
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. | |
bool | isAttached (void) const |
Returns true if this object is attached to a SceneNode or TagPoint. | |
bool | isDebugDisplayEnabled (void) const |
Gets whether debug display of this object is enabled. | |
virtual bool | isInScene (void) const |
Returns true if this object is attached to a SceneNode or TagPoint, and this SceneNode / TagPoint is currently in an active part of the scene graph. | |
bool | isParentTagPoint () const |
Gets whether the parent node is a TagPoint (or a SceneNode) | |
virtual bool | isVisible (void) const |
Returns whether or not this object is supposed to be visible or not. | |
const LightList & | queryLights (void) const |
Gets a list of lights, ordered relative to how close they are to this movable object. | |
void | removeQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
void | removeVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
void | setCastShadows (bool enabled) |
Sets whether or not this object will cast shadows. | |
void | setDebugDisplayEnabled (bool enabled) |
Sets whether or not the debug display of this object is enabled. | |
void | setLightMask (uint32 lightMask) |
Set a bitwise mask which will filter the lights affecting this object. | |
void | setListener (Listener *listener) |
Sets a listener for this object. | |
void | setQueryFlags (uint32 flags) |
Sets the query flags for this object. | |
void | setRenderingDistance (Real dist) |
Sets the distance at which the object is no longer rendered. | |
void | setRenderingMinPixelSize (Real pixelSize) |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered. | |
virtual void | setRenderQueueGroup (uint8 queueID) |
Sets the render queue group this entity will be rendered through. | |
virtual void | setRenderQueueGroupAndPriority (uint8 queueID, ushort priority) |
Sets the render queue group and group priority this entity will be rendered through. | |
void | setUserAny (const Any &anything) |
void | setVisibilityFlags (uint32 flags) |
Sets the visibility flags for this object. | |
void | setVisible (bool visible) |
Tells this object whether to be visible or not, if it has a renderable component. | |
![]() | |
virtual | ~ShadowCaster () |
virtual ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, size_t *indexBufferUsedSize, bool extrudeVertices, Real extrusionDistance, unsigned long flags=0) |
bool | hasEdgeList () |
Returns whether the object has a valid edge list. | |
![]() | |
AnimableObject () | |
virtual | ~AnimableObject () |
virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
Create a reference-counted AnimableValuePtr for the named value. | |
const StringVector & | getAnimableValueNames (void) const |
Gets a list of animable value names for this object. | |
![]() | |
Renderable () | |
virtual | ~Renderable () |
Virtual destructor needed as class has virtual methods. | |
virtual void | _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const |
Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows. | |
virtual bool | getCastsShadows (void) const |
Method which reports whether this renderable would normally cast a shadow. | |
const Vector4 & | getCustomParameter (size_t index) const |
Gets the custom value associated with this Renderable at the given index. | |
virtual unsigned short | getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. | |
bool | getPolygonModeOverrideable (void) const |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. | |
const RenderSystemDataPtr & | getRenderSystemData () const |
virtual Technique * | getTechnique (void) const |
Retrieves a pointer to the Material Technique this renderable object uses. | |
bool | getUseIdentityProjection (void) const |
Returns whether or not to use an 'identity' projection. | |
bool | getUseIdentityView (void) const |
Returns whether or not to use an 'identity' view. | |
const Any & | getUserAny (void) const |
UserObjectBindings & | getUserObjectBindings () |
Return an instance of user objects binding associated with this class. | |
const UserObjectBindings & | getUserObjectBindings () const |
Return an instance of user objects binding associated with this class. | |
bool | hasCustomParameter (size_t index) const |
Checks whether a custom value is associated with this Renderable at the given index. | |
virtual void | postRender (SceneManager *sm, RenderSystem *rsys) |
Called immediately after the Renderable has been rendered. | |
void | removeCustomParameter (size_t index) |
Removes a custom value which is associated with this Renderable at the given index. | |
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. | |
void | setPolygonModeOverrideable (bool override) |
Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. | |
void | setRenderSystemData (RenderSystemDataPtr val) const |
void | setUseIdentityProjection (bool useIdentityProjection) |
Sets whether or not to use an 'identity' projection. | |
void | setUseIdentityView (bool useIdentityView) |
Sets whether or not to use an 'identity' view. | |
void | setUserAny (const Any &anything) |
![]() | |
Listener () | |
virtual | ~Listener () |
virtual void | nodeAttached (const Node *) |
Node has been attached to a parent. | |
virtual void | nodeDetached (const Node *) |
Node has been detached from a parent. | |
Additional Inherited Members | |
![]() | |
static uint32 | getDefaultQueryFlags () |
Get the default query flags for all future MovableObject instances. | |
static uint32 | getDefaultVisibilityFlags () |
Get the default visibility flags for all future MovableObject instances. | |
static void | setDefaultQueryFlags (uint32 flags) |
Set the default query flags for all future MovableObject instances. | |
static void | setDefaultVisibilityFlags (uint32 flags) |
Set the default visibility flags for all future MovableObject instances. | |
![]() | |
static void | clearShadowRenderableList (ShadowRenderableList &shadowRenderables) |
Common implementation of releasing shadow renderables. | |
static void | extrudeVertices (const HardwareVertexBufferSharedPtr &vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) |
Utility method for extruding vertices based on a light. | |
Subclass of BillboardChain which automatically leaves a trail behind one or more Node instances.
typedef std::vector<Node*> Ogre::RibbonTrail::NodeList |
Ogre::RibbonTrail::RibbonTrail | ( | const String & | name, |
size_t | maxElements = 20 , |
||
size_t | numberOfChains = 1 , |
||
bool | useTextureCoords = true , |
||
bool | useVertexColours = true |
||
) |
Constructor (don't use directly, use factory)
name | The name to give this object |
maxElements | The maximum number of elements per chain |
numberOfChains | The number of separate chain segments contained in this object, ie the maximum number of nodes that can have trails attached |
useTextureCoords | If true, use texture coordinates from the chain elements |
useVertexColours | If true, use vertex colours from the chain elements (must be true if you intend to use fading) |
|
virtual |
destructor
Add a node to be tracked.
n | The node that will be tracked. |
Remove tracking on a given node.
|
virtual |
Get an iterator over the nodes which are being tracked.
Get the chain index for a given Node being tracked.
Set the length of the trail.
len | The length of the trail in world units |
Get the length of the trail.
Set the maximum number of chain elements per chain.
Reimplemented from Ogre::BillboardChain.
Set the number of chain segments (this class can render multiple chains at once using the same material).
Reimplemented from Ogre::BillboardChain.
Remove all elements of a given chain (but leave the chain intact).
Reimplemented from Ogre::BillboardChain.
|
virtual |
Set the starting ribbon colour for a given segment.
chainIndex | The index of the chain |
col | The initial colour |
|
virtual |
Set the starting ribbon colour.
chainIndex | The index of the chain |
r,b,g,a | The initial colour |
|
virtual |
Get the starting ribbon colour.
|
virtual |
Enables / disables fading the trail using colour.
chainIndex | The index of the chain |
valuePerSecond | The amount to subtract from colour each second |
Set the starting ribbon width in world units.
chainIndex | The index of the chain |
width | The initial width of the ribbon |
Get the starting ribbon width in world units.
|
virtual |
Set the change in ribbon width per second.
chainIndex | The index of the chain |
widthDeltaPerSecond | The amount the width will reduce by per second |
Get the change in ribbon width per second.
|
virtual |
Enables / disables fading the trail using colour.
chainIndex | The index of the chain |
r,g,b,a | The amount to subtract from each colour channel per second |
|
virtual |
Get the per-second fading amount.
Reimplemented from Ogre::Node::Listener.
Reimplemented from Ogre::Node::Listener.
Perform any fading / width delta required; internal method.
Returns the type name of this object.
Reimplemented from Ogre::BillboardChain.