![]() |
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>
Inheritance diagram for Ogre::RibbonTrail:Public Types | |
| typedef ConstVectorIterator< NodeList > | NodeIterator |
| typedef std::vector< Node * > | NodeList |
Public Types inherited from Ogre::BillboardChain | |
| 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... | |
Public Types inherited from Ogre::ShadowCaster | |
| typedef std::vector< ShadowRenderable * > | ShadowRenderableList |
| typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
Public Types inherited from Ogre::Renderable | |
| 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. | |
Public Member Functions inherited from Ogre::BillboardChain | |
| 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. | |
Public Member Functions inherited from Ogre::MovableObject | |
| 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. | |
Public Member Functions inherited from Ogre::ShadowCaster | |
| 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. | |
Public Member Functions inherited from Ogre::AnimableObject | |
| 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. | |
Public Member Functions inherited from Ogre::Renderable | |
| 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) |
Public Member Functions inherited from Ogre::Node::Listener | |
| 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 Public Member Functions inherited from Ogre::MovableObject | |
| 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 Public Member Functions inherited from Ogre::ShadowCaster | |
| 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.