OGRE
1.10.12
Object-Oriented Graphics Rendering Engine
|
Defines an instance of a discrete, movable object based on a Mesh. More...
#include <OgreEntity.h>
Public Types | |
typedef map< String, MovableObject * >::type | ChildObjectList |
Contains the child objects (attached to bones) indexed by name. More... | |
typedef MapIterator< ChildObjectList > | ChildObjectListIterator |
typedef set< Entity * >::type | EntitySet |
typedef map< unsigned short, bool >::type | SchemeHardwareAnimMap |
typedef vector< ShadowRenderable * >::type | ShadowRenderableList |
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
typedef vector< SubEntity * >::type | SubEntityList |
enum | VertexDataBindChoice { BIND_ORIGINAL, BIND_SOFTWARE_SKELETAL, BIND_SOFTWARE_MORPH, BIND_HARDWARE_MORPH } |
Identify which vertex data we should be sending to the renderer. More... | |
Public Member Functions | |
~Entity () | |
Default destructor. More... | |
void | _deinitialise (void) |
Tear down the internal structures of this Entity, rendering it uninitialised. More... | |
const Matrix4 * | _getBoneMatrices (void) const |
Internal method for retrieving bone matrix information. More... | |
bool | _getBuffersMarkedForAnimation (void) const |
Are buffers already marked as vertex animated? More... | |
MovableObjectFactory * | _getCreator (void) const |
Get the creator of this object, if any (internal use only) More... | |
VertexData * | _getHardwareVertexAnimVertexData (void) const |
Advanced method to get the hardware morph vertex information. More... | |
LightList * | _getLightList () |
Returns a pointer to the current list of lights for this object. More... | |
SceneManager * | _getManager (void) const |
Get the manager of this object, if any (internal use only) More... | |
Real | _getMeshLodFactorTransformed () const |
Get the LOD strategy transformation of the mesh LOD factor. More... | |
unsigned short | _getNumBoneMatrices (void) const |
Internal method for retrieving bone matrix information. More... | |
virtual const Matrix4 & | _getParentNodeFullTransform (void) const |
Return the full transformation of the parent sceneNode or the attachingPoint node. More... | |
TempBlendedBufferInfo * | _getSkelAnimTempBufferInfo (void) |
Advanced method to get the temp buffer information for software skeletal animation. More... | |
VertexData * | _getSkelAnimVertexData (void) const |
Advanced method to get the temporarily blended skeletal vertex information for entities which are software skinned. More... | |
VertexData * | _getSoftwareVertexAnimVertexData (void) const |
Advanced method to get the temporarily blended software vertex animation information. More... | |
TempBlendedBufferInfo * | _getVertexAnimTempBufferInfo (void) |
Advanced method to get the temp buffer information for software morph animation. More... | |
void | _initialise (bool forceReinitialise=false) |
Try to initialise the Entity from the underlying resources. More... | |
bool | _isAnimated (void) const |
Tests if any animation applied to this entity. More... | |
bool | _isSkeletonAnimated (void) const |
Tests if skeleton was animated. More... | |
void | _markBuffersUsedForAnimation (void) |
Mark just this vertex data as animated. More... | |
void | _notifyAttached (Node *parent, bool isTagPoint=false) |
Internal method called to notify the object that it has been attached to a node. More... | |
virtual void | _notifyCreator (MovableObjectFactory *fact) |
Notify the object of it's creator (internal use only) More... | |
void | _notifyCurrentCamera (Camera *cam) |
Internal method to notify the object of the camera to be used for the next rendering operation. More... | |
virtual void | _notifyManager (SceneManager *man) |
Notify the object of it's manager (internal use only) More... | |
virtual void | _notifyMoved (void) |
Internal method called to notify the object that it has been moved. More... | |
void | _releaseManualHardwareResources () |
Notifies the movable object that hardware resources were lost. More... | |
void | _restoreManualHardwareResources () |
Notifies the movable object that hardware resources should be restored. More... | |
void | _updateAnimation (void) |
Advanced method to perform all the updates required for an animated entity. More... | |
void | _updateRenderQueue (RenderQueue *queue) |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue. More... | |
void | addQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. More... | |
void | addSoftwareAnimationRequest (bool normalsAlso) |
Add a request for software animation. More... | |
void | addVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. More... | |
TagPoint * | attachObjectToBone (const String &boneName, MovableObject *pMovable, const Quaternion &offsetOrientation=Quaternion::IDENTITY, const Vector3 &offsetPosition=Vector3::ZERO) |
Attaches another object to a certain bone of the skeleton which this entity uses. More... | |
void | backgroundLoadingComplete (Resource *res) |
Resource::Listener hook to notify Entity that a delay-loaded Mesh is complete. More... | |
virtual void | backgroundPreparingComplete (Resource *) |
Callback to indicate that background preparing has completed. More... | |
VertexDataBindChoice | chooseVertexDataForBinding (bool hasVertexAnim) |
Choose which vertex data to bind to the renderer. More... | |
Entity * | clone (const String &newName) const |
Clones this entity and returns a pointer to the clone. More... | |
virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
Create a reference-counted AnimableValuePtr for the named value. More... | |
void | detachAllObjectsFromBone (void) |
Detach all MovableObjects previously attached using attachObjectToBone. More... | |
void | detachFromParent (void) |
Detaches an object from a parent SceneNode or TagPoint, if attached. More... | |
MovableObject * | detachObjectFromBone (const String &movableName) |
Detach a MovableObject previously attached using attachObjectToBone. More... | |
void | detachObjectFromBone (MovableObject *obj) |
Detaches an object by pointer. More... | |
AnimationStateSet * | getAllAnimationStates (void) const |
For entities based on animated meshes, gets the AnimationState objects for all animations. More... | |
bool | getAlwaysUpdateMainSkeleton () const |
The skeleton of the main entity will be updated even if the an LOD entity is being displayed. More... | |
const StringVector & | getAnimableValueNames (void) const |
Gets a list of animable value names for this object. More... | |
AnimationState * | getAnimationState (const String &name) const |
For entities based on animated meshes, gets the AnimationState object for a single animation. More... | |
ChildObjectListIterator | getAttachedObjectIterator (void) |
Gets an iterator to the list of objects attached to bones on this entity. More... | |
const AxisAlignedBox & | getBoundingBox (void) const |
Retrieves the local axis-aligned bounding box for this object. More... | |
Real | getBoundingRadius (void) const |
Retrieves the radius of the origin-centered bounding sphere for this object. More... | |
bool | getCastShadows (void) const |
Returns whether shadow casting is enabled for this object. More... | |
AxisAlignedBox | getChildObjectsBoundingBox (void) const |
Merge all the child object Bounds a return it. More... | |
ushort | getCurrentLodIndex () |
Returns the current LOD used to render. More... | |
const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const |
Overridden member from ShadowCaster. More... | |
bool | getDisplaySkeleton (void) const |
Returns whether or not the entity is currently displaying its skeleton. More... | |
EdgeData * | getEdgeList (void) |
Returns details of the edges which might be used to determine a silhouette. More... | |
const AxisAlignedBox & | getLightCapBounds (void) const |
Overridden member from ShadowCaster. More... | |
uint32 | getLightMask () const |
Get a bitwise mask which will filter the lights affecting this object. More... | |
Listener * | getListener (void) const |
Gets the current listener for this object. More... | |
Entity * | getManualLodLevel (size_t index) const |
Gets a pointer to the entity representing the numbered manual level of detail. More... | |
const MeshPtr & | getMesh (void) const |
Gets the Mesh that this Entity is based on. More... | |
const String & | getMovableType (void) const |
Returns the type name of this object. More... | |
const String & | getName (void) const |
Returns the name of this object. More... | |
size_t | getNumManualLodLevels (void) const |
Returns the number of manual levels of detail that this entity supports. More... | |
size_t | getNumSubEntities (void) const |
Retrieves the number of SubEntity objects making up this entity. More... | |
Node * | getParentNode (void) const |
Returns the node to which this object is attached. More... | |
SceneNode * | getParentSceneNode (void) const |
Returns the scene node to which this object is attached. More... | |
Real | getPointExtrusionDistance (const Light *l) const |
Get the distance to extrude for a point/spot light. More... | |
uint32 | getQueryFlags (void) const |
Returns the query flags relevant for this object. More... | |
bool | getReceivesShadows () |
Returns whether the Material of any Renderable that this MovableObject will add to the render queue will receive shadows. More... | |
Real | getRenderingDistance (void) const |
Gets the distance at which batches are no longer rendered. More... | |
Real | getRenderingMinPixelSize () const |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered. More... | |
uint8 | getRenderQueueGroup (void) const |
Gets the queue group for this entity. More... | |
ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, size_t *indexBufferUsedSize, bool extrudeVertices, Real extrusionDistance, unsigned long flags=0) |
Gets an iterator over the renderables required to render the shadow volume. More... | |
SkeletonInstance * | getSkeleton (void) const |
Get this Entity's personal skeleton instance. More... | |
const EntitySet * | getSkeletonInstanceSharingSet () const |
Returns a pointer to the set of entities which share a SkeletonInstance. More... | |
bool | getSkipAnimationStateUpdate () const |
Entity's skeleton's AnimationState will not be automatically updated when set to true. More... | |
int | getSoftwareAnimationNormalsRequests (void) const |
Returns the number of requests that have been made for software animation of normals. More... | |
int | getSoftwareAnimationRequests (void) const |
Returns the number of requests that have been made for software animation. More... | |
const SubEntityList & | getSubEntities () const |
Retrieves SubEntity objects making up this entity. More... | |
SubEntity * | getSubEntity (size_t index) const |
Gets a pointer to a SubEntity, ie a part of an Entity. More... | |
SubEntity * | getSubEntity (const String &name) const |
Gets a pointer to a SubEntity by name. More... | |
uint32 | getTypeFlags (void) const |
Override to return specific type flag. More... | |
bool | getUpdateBoundingBoxFromSkeleton () const |
If true, the skeleton of the entity will be used to update the bounding box for culling. More... | |
const Any & | getUserAny (void) const |
UserObjectBindings & | getUserObjectBindings () |
Return an instance of user objects binding associated with this class. More... | |
const UserObjectBindings & | getUserObjectBindings () const |
Return an instance of user objects binding associated with this class. More... | |
VertexData * | getVertexDataForBinding (void) |
Retrieve the VertexData which should be used for GPU binding. More... | |
uint32 | getVisibilityFlags (void) const |
Returns the visibility flags relevant for this object. More... | |
bool | getVisible (void) const |
Gets this object whether to be visible or not, if it has a renderable component. More... | |
const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const |
Retrieves the axis-aligned bounding box for this object in world coordinates. More... | |
const Sphere & | getWorldBoundingSphere (bool derive=false) const |
Retrieves the worldspace bounding sphere for this object. More... | |
bool | hasAnimationState (const String &name) const |
Returns whether the AnimationState with the given name exists. More... | |
bool | hasEdgeList (void) |
Returns whether the object has a valid edge list. More... | |
bool | hasSkeleton (void) const |
Returns whether or not this entity is skeletally animated. More... | |
bool | hasVertexAnimation (void) const |
Returns whether or not this entity is either morph or pose animated. More... | |
bool | isAttached (void) const |
Returns true if this object is attached to a SceneNode or TagPoint. More... | |
bool | isDebugDisplayEnabled (void) const |
Gets whether debug display of this object is enabled. More... | |
bool | isHardwareAnimationEnabled (void) |
Returns whether or not hardware animation is enabled. More... | |
bool | isInitialised (void) const |
Has this Entity been initialised yet? More... | |
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. More... | |
bool | isParentTagPoint () const |
Gets whether the parent node is a TagPoint (or a SceneNode) More... | |
virtual bool | isVisible (void) const |
Returns whether or not this object is supposed to be visible or not. More... | |
virtual void | loadingComplete (Resource *) |
Called whenever the resource finishes loading. More... | |
virtual void | preparingComplete (Resource *) |
Called whenever the resource finishes preparing (paging into memory). More... | |
const LightList & | queryLights (void) const |
Gets a list of lights, ordered relative to how close they are to this movable object. More... | |
void | refreshAvailableAnimationState (void) |
Updates the internal animation state set to include the latest available animations from the attached skeleton. More... | |
void | removeQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. More... | |
void | removeSoftwareAnimationRequest (bool normalsAlso) |
Removes a request for software animation. More... | |
void | removeVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. More... | |
void | setAlwaysUpdateMainSkeleton (bool update) |
The skeleton of the main entity will be updated even if the an LOD entity is being displayed. More... | |
void | setCastShadows (bool enabled) |
Sets whether or not this object will cast shadows. More... | |
void | setDebugDisplayEnabled (bool enabled) |
Sets whether or not the debug display of this object is enabled. More... | |
void | setDisplaySkeleton (bool display) |
Tells the Entity whether or not it should display it's skeleton, if it has one. More... | |
void | setLightMask (uint32 lightMask) |
Set a bitwise mask which will filter the lights affecting this object. More... | |
void | setListener (Listener *listener) |
Sets a listener for this object. More... | |
void | setMaterial (const MaterialPtr &material) |
Sets the material to use for the whole of this entity. More... | |
void | setMaterialLodBias (Real factor, ushort maxDetailIndex=0, ushort minDetailIndex=99) |
Sets a level-of-detail bias for the material detail of this entity. More... | |
void | setMaterialName (const String &name, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) |
Sets the material to use for the whole of this entity. More... | |
void | setMeshLodBias (Real factor, ushort maxDetailIndex=0, ushort minDetailIndex=99) |
Sets a level-of-detail bias for the mesh detail of this entity. More... | |
void | setPolygonModeOverrideable (bool PolygonModeOverrideable) |
Sets whether the polygon mode of this entire entity may be overridden by the camera detail settings. More... | |
void | setQueryFlags (uint32 flags) |
Sets the query flags for this object. More... | |
void | setRenderingDistance (Real dist) |
Sets the distance at which the object is no longer rendered. More... | |
void | setRenderingMinPixelSize (Real pixelSize) |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered. More... | |
void | setRenderQueueGroup (uint8 queueID) |
Sets the render queue group this entity will be rendered through. More... | |
void | setRenderQueueGroupAndPriority (uint8 queueID, ushort priority) |
Sets the render queue group and group priority this entity will be rendered through. More... | |
void | setSkipAnimationStateUpdate (bool skip) |
Entity's skeleton's AnimationState will not be automatically updated when set to true. More... | |
void | setUpdateBoundingBoxFromSkeleton (bool update) |
If true, the skeleton of the entity will be used to update the bounding box for culling. More... | |
void | setUserAny (const Any &anything) |
void | setVisibilityFlags (uint32 flags) |
Sets the visibility flags for this object. More... | |
void | setVisible (bool visible) |
Tells this object whether to be visible or not, if it has a renderable component. More... | |
void | shareSkeletonInstanceWith (Entity *entity) |
Shares the SkeletonInstance with the supplied entity. More... | |
bool | sharesSkeletonInstance () const |
Returns whether this entity shares it's SkeltonInstance with other entity instances. More... | |
void | stopSharingSkeletonInstance () |
Stops sharing the SkeletonInstance with other entities. More... | |
virtual void | unloadingComplete (Resource *) |
Called whenever the resource has been unloaded. More... | |
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. More... | |
Static Public Member Functions | |
static void | clearShadowRenderableList (ShadowRenderableList &shadowRenderables) |
Common implementation of releasing shadow renderables. More... | |
static void | extrudeVertices (const HardwareVertexBufferSharedPtr &vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) |
Utility method for extruding vertices based on a light. More... | |
static uint32 | getDefaultQueryFlags () |
Get the default query flags for all future MovableObject instances. More... | |
static uint32 | getDefaultVisibilityFlags () |
Get the default visibility flags for all future MovableObject instances. More... | |
static void | setDefaultQueryFlags (uint32 flags) |
Set the default query flags for all future MovableObject instances. More... | |
static void | setDefaultVisibilityFlags (uint32 flags) |
Set the default visibility flags for all future MovableObject instances. More... | |
Friends | |
class | EntityFactory |
class | SubEntity |
Defines an instance of a discrete, movable object based on a Mesh.
typedef set<Entity*>::type Ogre::Entity::EntitySet |
typedef map<unsigned short, bool>::type Ogre::Entity::SchemeHardwareAnimMap |
typedef vector<SubEntity*>::type Ogre::Entity::SubEntityList |
typedef map<String, MovableObject*>::type Ogre::Entity::ChildObjectList |
Contains the child objects (attached to bones) indexed by name.
|
inherited |
|
inherited |
Ogre::Entity::~Entity | ( | ) |
Default destructor.
SubEntity* Ogre::Entity::getSubEntity | ( | size_t | index | ) | const |
size_t Ogre::Entity::getNumSubEntities | ( | void | ) | const |
Retrieves the number of SubEntity objects making up this entity.
|
inline |
Retrieves SubEntity objects making up this entity.
References Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME.
Clones this entity and returns a pointer to the clone.
newName | Name for the new entity. |
void Ogre::Entity::setMaterialName | ( | const String & | name, |
const String & | groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME |
||
) |
Sets the material to use for the whole of this entity.
void Ogre::Entity::setMaterial | ( | const MaterialPtr & | material | ) |
Sets the material to use for the whole of this entity.
|
virtual |
Notifies the movable object that hardware resources were lost.
Reimplemented from Ogre::MovableObject.
|
virtual |
Notifies the movable object that hardware resources should be restored.
Reimplemented from Ogre::MovableObject.
|
virtual |
Internal method to notify the object of the camera to be used for the next rendering operation.
Reimplemented from Ogre::MovableObject.
|
virtual |
Sets the render queue group this entity will be rendered through.
queueID | Enumerated value of the queue group to use. See the enum RenderQueueGroupID for what kind of values can be used here. |
Reimplemented from Ogre::MovableObject.
Sets the render queue group and group priority this entity will be rendered through.
queueID | Enumerated value of the queue group to use. See the enum RenderQueueGroupID for what kind of values can be used here. |
priority | The priority within a group to use. |
Reimplemented from Ogre::MovableObject.
|
virtual |
Retrieves the local axis-aligned bounding box for this object.
Implements Ogre::MovableObject.
AxisAlignedBox Ogre::Entity::getChildObjectsBoundingBox | ( | void | ) | const |
Merge all the child object Bounds a return it.
|
virtual |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Implements Ogre::MovableObject.
|
virtual |
Returns the type name of this object.
Implements Ogre::MovableObject.
AnimationState* Ogre::Entity::getAnimationState | ( | const String & | name | ) | const |
For entities based on animated meshes, gets the AnimationState object for a single animation.
bool Ogre::Entity::hasAnimationState | ( | const String & | name | ) | const |
Returns whether the AnimationState with the given name exists.
AnimationStateSet* Ogre::Entity::getAllAnimationStates | ( | void | ) | const |
For entities based on animated meshes, gets the AnimationState objects for all animations.
void Ogre::Entity::setDisplaySkeleton | ( | bool | display | ) |
Tells the Entity whether or not it should display it's skeleton, if it has one.
bool Ogre::Entity::getDisplaySkeleton | ( | void | ) | const |
Returns whether or not the entity is currently displaying its skeleton.
size_t Ogre::Entity::getNumManualLodLevels | ( | void | ) | const |
Returns the number of manual levels of detail that this entity supports.
|
inline |
Returns the current LOD used to render.
References Ogre::Quaternion::IDENTITY, and Ogre::Vector3::ZERO.
Entity* Ogre::Entity::getManualLodLevel | ( | size_t | index | ) | const |
Gets a pointer to the entity representing the numbered manual level of detail.
void Ogre::Entity::setMeshLodBias | ( | Real | factor, |
ushort | maxDetailIndex = 0 , |
||
ushort | minDetailIndex = 99 |
||
) |
Sets a level-of-detail bias for the mesh detail of this entity.
factor | Proportional factor to apply to the distance at which LOD is changed. Higher values increase the distance at which higher LODs are displayed (2.0 is twice the normal distance, 0.5 is half). |
maxDetailIndex | The index of the maximum LOD this entity is allowed to use (lower indexes are higher detail: index 0 is the original full detail model). |
minDetailIndex | The index of the minimum LOD this entity is allowed to use (higher indexes are lower detail). Use something like 99 if you want unlimited LODs (the actual LOD will be limited by the number in the Mesh). |
void Ogre::Entity::setMaterialLodBias | ( | Real | factor, |
ushort | maxDetailIndex = 0 , |
||
ushort | minDetailIndex = 99 |
||
) |
Sets a level-of-detail bias for the material detail of this entity.
factor | Proportional factor to apply to the distance at which LOD is changed. Higher values increase the distance at which higher LODs are displayed (2.0 is twice the normal distance, 0.5 is half). |
maxDetailIndex | The index of the maximum LOD this entity is allowed to use (lower indexes are higher detail: index 0 is the original full detail model). |
minDetailIndex | The index of the minimum LOD this entity is allowed to use (higher indexes are lower detail. Use something like 99 if you want unlimited LODs (the actual LOD will be limited by the number of LOD indexes used in the Material). |
void Ogre::Entity::setPolygonModeOverrideable | ( | bool | PolygonModeOverrideable | ) |
Sets whether the polygon mode of this entire entity may be overridden by the camera detail settings.
TagPoint* Ogre::Entity::attachObjectToBone | ( | const String & | boneName, |
MovableObject * | pMovable, | ||
const Quaternion & | offsetOrientation = Quaternion::IDENTITY , |
||
const Vector3 & | offsetPosition = Vector3::ZERO |
||
) |
Attaches another object to a certain bone of the skeleton which this entity uses.
boneName | The name of the bone (in the skeleton) to attach this object |
pMovable | Pointer to the object to attach |
offsetOrientation | An adjustment to the orientation of the attached object, relative to the bone. |
offsetPosition | An adjustment to the position of the attached object, relative to the bone. |
MovableObject* Ogre::Entity::detachObjectFromBone | ( | const String & | movableName | ) |
Detach a MovableObject previously attached using attachObjectToBone.
If the movable object name is not found then an exception is raised.
movableName | The name of the movable object to be detached. |
void Ogre::Entity::detachObjectFromBone | ( | MovableObject * | obj | ) |
Detaches an object by pointer.
void Ogre::Entity::detachAllObjectsFromBone | ( | void | ) |
Detach all MovableObjects previously attached using attachObjectToBone.
ChildObjectListIterator Ogre::Entity::getAttachedObjectIterator | ( | void | ) |
Gets an iterator to the list of objects attached to bones on this entity.
|
virtual |
Retrieves the radius of the origin-centered bounding sphere for this object.
Implements Ogre::MovableObject.
|
virtual |
Retrieves the axis-aligned bounding box for this object in world coordinates.
Reimplemented from Ogre::MovableObject.
|
virtual |
Retrieves the worldspace bounding sphere for this object.
Reimplemented from Ogre::MovableObject.
|
virtual |
Returns details of the edges which might be used to determine a silhouette.
Implements Ogre::ShadowCaster.
|
virtual |
Returns whether the object has a valid edge list.
Implements Ogre::ShadowCaster.
|
virtual |
Gets an iterator over the renderables required to render the shadow volume.
shadowTechnique | The technique being used to generate the shadow. |
light | The light to generate the shadow from. |
indexBuffer | The index buffer to build the renderables into, the current contents are assumed to be disposable. |
extrudeVertices | If true , this means this class should extrude the vertices of the back of the volume in software. If false, it will not be done (a vertex program is assumed). |
extrusionDistance | The distance to extrude the shadow volume. |
flags | Technique-specific flags, see ShadowRenderableFlags. |
Implements Ogre::ShadowCaster.
|
inline |
Internal method for retrieving bone matrix information.
|
inline |
Internal method for retrieving bone matrix information.
|
inline |
Returns whether or not this entity is skeletally animated.
|
inline |
Get this Entity's personal skeleton instance.
bool Ogre::Entity::isHardwareAnimationEnabled | ( | void | ) |
Returns whether or not hardware animation is enabled.
Also note the the function returns value according to the current active scheme. This is due to the fact that RTSS schemes may be different in their handling of hardware animation.
|
virtual |
Internal method called to notify the object that it has been attached to a node.
Reimplemented from Ogre::MovableObject.
|
inline |
Returns the number of requests that have been made for software animation.
|
inline |
Returns the number of requests that have been made for software animation of normals.
void Ogre::Entity::addSoftwareAnimationRequest | ( | bool | normalsAlso | ) |
Add a request for software animation.
void Ogre::Entity::removeSoftwareAnimationRequest | ( | bool | normalsAlso | ) |
Removes a request for software animation.
void Ogre::Entity::shareSkeletonInstanceWith | ( | Entity * | entity | ) |
Shares the SkeletonInstance with the supplied entity.
Note that in order for this to work, both entities must have the same Skeleton.
bool Ogre::Entity::hasVertexAnimation | ( | void | ) | const |
Returns whether or not this entity is either morph or pose animated.
void Ogre::Entity::stopSharingSkeletonInstance | ( | ) |
Stops sharing the SkeletonInstance with other entities.
|
inline |
Returns whether this entity shares it's SkeltonInstance with other entity instances.
|
inline |
Returns a pointer to the set of entities which share a SkeletonInstance.
If this instance does not share it's SkeletonInstance with other instances NULL
will be returned
void Ogre::Entity::refreshAvailableAnimationState | ( | void | ) |
Updates the internal animation state set to include the latest available animations from the attached skeleton.
void Ogre::Entity::_updateAnimation | ( | void | ) |
Advanced method to perform all the updates required for an animated entity.
bool Ogre::Entity::_isAnimated | ( | void | ) | const |
Tests if any animation applied to this entity.
bool Ogre::Entity::_isSkeletonAnimated | ( | void | ) | const |
Tests if skeleton was animated.
VertexData* Ogre::Entity::_getSkelAnimVertexData | ( | void | ) | const |
Advanced method to get the temporarily blended skeletal vertex information for entities which are software skinned.
VertexData* Ogre::Entity::_getSoftwareVertexAnimVertexData | ( | void | ) | const |
Advanced method to get the temporarily blended software vertex animation information.
VertexData* Ogre::Entity::_getHardwareVertexAnimVertexData | ( | void | ) | const |
Advanced method to get the hardware morph vertex information.
TempBlendedBufferInfo* Ogre::Entity::_getSkelAnimTempBufferInfo | ( | void | ) |
Advanced method to get the temp buffer information for software skeletal animation.
TempBlendedBufferInfo* Ogre::Entity::_getVertexAnimTempBufferInfo | ( | void | ) |
Advanced method to get the temp buffer information for software morph animation.
|
virtual |
Override to return specific type flag.
Reimplemented from Ogre::MovableObject.
VertexData* Ogre::Entity::getVertexDataForBinding | ( | void | ) |
Retrieve the VertexData which should be used for GPU binding.
VertexDataBindChoice Ogre::Entity::chooseVertexDataForBinding | ( | bool | hasVertexAnim | ) |
Choose which vertex data to bind to the renderer.
|
inline |
Are buffers already marked as vertex animated?
void Ogre::Entity::_markBuffersUsedForAnimation | ( | void | ) |
Mark just this vertex data as animated.
|
inline |
Has this Entity been initialised yet?
void Ogre::Entity::_initialise | ( | bool | forceReinitialise = false | ) |
Try to initialise the Entity from the underlying resources.
void Ogre::Entity::_deinitialise | ( | void | ) |
Tear down the internal structures of this Entity, rendering it uninitialised.
|
virtual |
Resource::Listener hook to notify Entity that a delay-loaded Mesh is complete.
Reimplemented from Ogre::Resource::Listener.
|
virtual |
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.
visitor | Pointer to a class implementing the Renderable::Visitor interface which will be called back for each Renderable which will be queued. Bear in mind that the state of the Renderable instances may not be finalised depending on when you call this. |
debugRenderables | If false, only regular renderables will be visited (those for normal display). If true, debug renderables will be included too. |
Implements Ogre::MovableObject.
Real Ogre::Entity::_getMeshLodFactorTransformed | ( | ) | const |
Get the LOD strategy transformation of the mesh LOD factor.
|
inline |
Entity's skeleton's AnimationState will not be automatically updated when set to true.
Useful if you wish to handle AnimationState updates manually.
|
inline |
Entity's skeleton's AnimationState will not be automatically updated when set to true.
Useful if you wish to handle AnimationState updates manually.
|
inline |
The skeleton of the main entity will be updated even if the an LOD entity is being displayed.
useful if you have entities attached to the main entity. Otherwise position of attached entities will not be updated.
|
inline |
The skeleton of the main entity will be updated even if the an LOD entity is being displayed.
useful if you have entities attached to the main entity. Otherwise position of attached entities will not be updated.
void Ogre::Entity::setUpdateBoundingBoxFromSkeleton | ( | bool | update | ) |
If true, the skeleton of the entity will be used to update the bounding box for culling.
Useful if you have skeletal animations that move the bones away from the root. Otherwise, the bounding box of the mesh in the binding pose will be used.
|
inline |
If true, the skeleton of the entity will be used to update the bounding box for culling.
Useful if you have skeletal animations that move the bones away from the root. Otherwise, the bounding box of the mesh in the binding pose will be used.
|
inlinevirtualinherited |
Notify the object of it's creator (internal use only)
|
inlineinherited |
Get the creator of this object, if any (internal use only)
|
inlinevirtualinherited |
Notify the object of it's manager (internal use only)
|
inlineinherited |
Get the manager of this object, if any (internal use only)
|
inlineinherited |
Returns the name of this object.
|
inlineinherited |
Returns the node to which this object is attached.
|
inherited |
Returns the scene node to which this object is attached.
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
virtualinherited |
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.
Reimplemented in Ogre::InstancedEntity.
|
virtualinherited |
Internal method called to notify the object that it has been moved.
Reimplemented in Ogre::Light, Ogre::PortalBase, Ogre::InstancedEntity, and Ogre::PCZLight.
|
inlineinherited |
Tells this object whether to be visible or not, if it has a renderable component.
Referenced by Ogre::Light::setVisible().
|
inlineinherited |
Gets this object whether to be visible or not, if it has a renderable component.
|
virtualinherited |
Returns whether or not this object is supposed to be visible or not.
Reimplemented in Ogre::InstancedGeometry::BatchInstance, and Ogre::StaticGeometry::Region.
Referenced by Ogre::Frustum::isCustomProjectionMatrixEnabled().
|
inlineinherited |
Sets the distance at which the object is no longer rendered.
dist | Distance beyond which the object will not be rendered (the default is 0, which means objects are always rendered). |
|
inlineinherited |
Gets the distance at which batches are no longer rendered.
|
inlineinherited |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered.
pixelSize | Number of minimum pixels (the default is 0, which means objects are always rendered). |
|
inlineinherited |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered.
|
inlineinherited |
Sets any kind of user value on this object.
|
inlineinherited |
Retrieves the custom user value associated with this object.
|
inlineinherited |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inlineinherited |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inlineinherited |
Gets the queue group for this entity.
|
virtualinherited |
Return the full transformation of the parent sceneNode or the attachingPoint node.
Reimplemented in Ogre::InstancedEntity.
|
inlineinherited |
Sets the query flags for this object.
|
inlineinherited |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
|
inlineinherited |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
|
inlineinherited |
Returns the query flags relevant for this object.
|
inlinestaticinherited |
Set the default query flags for all future MovableObject instances.
|
inlinestaticinherited |
Get the default query flags for all future MovableObject instances.
|
inlineinherited |
Sets the visibility flags for this object.
|
inlineinherited |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object.
|
inlineinherited |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object.
|
inlineinherited |
Returns the visibility flags relevant for this object.
|
inlinestaticinherited |
Set the default visibility flags for all future MovableObject instances.
|
inlinestaticinherited |
Get the default visibility flags for all future MovableObject instances.
|
inlineinherited |
Sets a listener for this object.
|
inlineinherited |
Gets the current listener for this object.
|
inherited |
Gets a list of lights, ordered relative to how close they are to this movable object.
|
inlineinherited |
Get a bitwise mask which will filter the lights affecting this object.
|
inherited |
Set a bitwise mask which will filter the lights affecting this object.
|
inlineinherited |
Returns a pointer to the current list of lights for this object.
|
virtualinherited |
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster.
|
virtualinherited |
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster.
|
inlineinherited |
Sets whether or not this object will cast shadows.
|
inlinevirtualinherited |
Returns whether shadow casting is enabled for this object.
Implements Ogre::ShadowCaster.
|
inherited |
Returns whether the Material of any Renderable that this MovableObject will add to the render queue will receive shadows.
Get the distance to extrude for a point/spot light.
Implements Ogre::ShadowCaster.
|
inlineinherited |
Sets whether or not the debug display of this object is enabled.
|
inlineinherited |
Gets whether debug display of this object is enabled.
|
staticinherited |
Common implementation of releasing shadow renderables.
|
staticinherited |
Utility method for extruding vertices based on a light.
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, i.e. 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. |
|
inlineinherited |
Gets a list of animable value names for this object.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
|
inlinevirtualinherited |
Create a reference-counted AnimableValuePtr for the named value.
Reimplemented in Ogre::Light.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
|
inlinevirtualinherited |
Callback to indicate that background preparing has completed.
|
inlinevirtualinherited |
Called whenever the resource finishes loading.
Reimplemented in Ogre::GpuProgramUsage.
|
inlinevirtualinherited |
Called whenever the resource finishes preparing (paging into memory).
|
inlinevirtualinherited |
Called whenever the resource has been unloaded.
Reimplemented in Ogre::GpuProgramUsage.
|
friend |
|
friend |