#include <OgreManualObject.h>
Inheritance diagram for Ogre::ManualObject:
Public Types | |
typedef std::vector< ManualObjectSection * > | SectionList |
typedef std::vector< ShadowRenderable * > | ShadowRenderableList |
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
Public Member Functions | |
ManualObject (const String &name) | |
virtual | ~ManualObject () |
virtual void | clear (void) |
Completely clear the contents of the object. | |
virtual void | estimateVertexCount (size_t vcount) |
Estimate the number of vertices ahead of time. | |
virtual void | estimateIndexCount (size_t icount) |
Estimate the number of vertices ahead of time. | |
virtual void | begin (const String &materialName, RenderOperation::OperationType opType=RenderOperation::OT_TRIANGLE_LIST) |
Start defining a part of the object. | |
virtual void | position (const Vector3 &pos) |
Add a vertex position, starting a new vertex at the same time. | |
virtual void | position (Real x, Real y, Real z) |
| |
virtual void | normal (const Vector3 &norm) |
Add a vertex normal to the current vertex. | |
virtual void | normal (Real x, Real y, Real z) |
| |
virtual void | textureCoord (Real u) |
Add a texture coordinate to the current vertex. | |
virtual void | textureCoord (Real u, Real v) |
| |
virtual void | textureCoord (Real u, Real v, Real w) |
| |
virtual void | textureCoord (const Vector2 &uv) |
| |
virtual void | textureCoord (const Vector3 &uvw) |
| |
virtual void | colour (const ColourValue &col) |
Add a vertex colour to a vertex. | |
virtual void | colour (Real r, Real g, Real b, Real a=1.0f) |
Add a vertex colour to a vertex. | |
virtual void | index (uint16 idx) |
Add a vertex index to construct faces / lines / points via indexing rather than just by a simple list of vertices. | |
virtual void | triangle (uint16 i1, uint16 i2, uint16 i3) |
Add a set of 3 vertex indices to construct a triangle; this is a shortcut to calling index() 3 times. | |
virtual void | quad (uint16 i1, uint16 i2, uint16 i3, uint16 i4) |
Add a set of 4 vertex indices to construct a quad (out of 2 triangles); this is a shortcut to calling index() 6 times, or triangle() twice. | |
virtual void | end (void) |
Finish defining the object and compile the final renderable version. | |
virtual MeshPtr | convertToMesh (const String &meshName, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME) |
Convert this object to a Mesh. | |
const String & | getMovableType (void) const |
. | |
const AxisAlignedBox & | getBoundingBox (void) const |
| |
Real | getBoundingRadius (void) const |
. | |
void | _updateRenderQueue (RenderQueue *queue) |
| |
EdgeData * | getEdgeList (void) |
Implement this method to enable stencil shadows. | |
ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDist, unsigned long flags=0) |
Implement this method to enable stencil shadows. | |
virtual void | _notifyCreator (MovableObjectFactory *fact) |
Notify the object of it's creator (internal use only). | |
virtual void | _notifyManager (SceneManager *man) |
Notify the object of it's manager (internal use only). | |
virtual SceneManager * | _getManager (void) const |
Get the manager of this object, if any (internal use only). | |
virtual const String & | getName (void) const |
Returns the name of this 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 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. | |
virtual void | _notifyCurrentCamera (Camera *cam) |
Internal method to notify the object of the camera to be used for the next rendering operation. | |
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 | setRenderingDistance (Real dist) |
Sets the distance at which the object is no longer rendered. | |
virtual Real | getRenderingDistance (void) const |
Gets the distance at which batches are no longer rendered. | |
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 | setUserAny (const Any &anything) |
Sets any kind of user value on this object. | |
virtual const Any & | getUserAny (void) const |
Retrieves the custom user value associated with this object. | |
virtual void | setRenderQueueGroup (uint8 queueID) |
Sets the render queue group this entity will be rendered through. | |
virtual uint8 | 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 (uint32 flags) |
Sets the query flags for this object. | |
virtual void | addQueryFlags (uint32 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 uint32 | getQueryFlags (void) const |
Returns the query flags relevant for this object. | |
virtual void | setVisibilityFlags (uint32 flags) |
Sets the visiblity flags for this object. | |
virtual void | addVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
virtual void | removeVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
virtual uint32 | getVisibilityFlags (void) const |
Returns the visibility flags relevant for this object. | |
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 uint32 | getTypeFlags (void) const |
Get the 'type flags' for this MovableObject. | |
const StringVector & | getAnimableValueNames (void) const |
Gets a list of animable value names for this object. | |
virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
Create a reference-counted AnimableValuePtr for the named value. | |
Static Public Member Functions | |
void | setDefaultQueryFlags (uint32 flags) |
Set the default query flags for all future MovableObject instances. | |
uint32 | getDefaultQueryFlags (uint32 flags) |
Get the default query flags for all future MovableObject instances. | |
void | setDefaultVisibilityFlags (uint32 flags) |
Set the default visibility flags for all future MovableObject instances. | |
uint32 | getDefaultVisibilityFlags (uint32 flags) |
Get the default visibility flags for all future MovableObject instances. | |
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::map< String, StringVector > | AnimableDictionaryMap |
Protected Member Functions | |
virtual void | resetTempAreas (void) |
Delete temp buffers and reset init counts. | |
virtual void | resizeTempVertexBufferIfNeeded (size_t numVerts) |
Resize the temp vertex buffer? | |
virtual void | resizeTempIndexBufferIfNeeded (size_t numInds) |
Resize the temp index buffer? | |
virtual void | copyTempVertexToBuffer (void) |
Copy current temp vertex into buffer. | |
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. | |
virtual const String & | getAnimableDictionaryName (void) const |
Get the name of the animable dictionary for this class. | |
void | createAnimableDictionary (void) const |
Internal method for creating a dictionary of animable value names for the class, if it does not already exist. | |
StringVector & | getAnimableValueNames (void) |
Get an updateable reference to animable value list. | |
virtual void | initialiseAnimableDictionary (StringVector &vec) const |
Internal method for initialising dictionary; should be implemented by subclasses wanting to expose animable parameters. | |
Protected Attributes | |
SectionList | mSectionList |
List of subsections. | |
ManualObjectSection * | mCurrentSection |
Current section. | |
TempVertex | mTempVertex |
Temp storage. | |
bool | mFirstVertex |
First vertex indicator. | |
bool | mTempVertexPending |
Temp vertex data to copy? | |
char * | mTempVertexBuffer |
System-memory buffer whilst we establish the size required. | |
size_t | mTempVertexSize |
System memory allocation size, in bytes. | |
uint16 * | mTempIndexBuffer |
System-memory buffer whilst we establish the size required. | |
size_t | mTempIndexSize |
System memory allocation size, in bytes. | |
size_t | mDeclSize |
Current declaration vertex size. | |
ushort | mTexCoordIndex |
Current texture coordinate. | |
AxisAlignedBox | mAABB |
Bounding box. | |
Real | mRadius |
Bounding sphere. | |
bool | mAnyIndexed |
Any indexed geoemtry on any sections? | |
EdgeData * | mEdgeList |
Edge list, used if stencil shadow casting is enabled. | |
ShadowRenderableList | mShadowRenderables |
List of shadow renderables. | |
String | mName |
Name of this object. | |
MovableObjectFactory * | mCreator |
Creator of this object (if created by a factory). | |
SceneManager * | mManager |
SceneManager holding this object (if applicable). | |
Node * | mParentNode |
node to which this object is attached | |
bool | mParentIsTagPoint |
bool | mVisible |
Is this object visible? | |
Real | mUpperDistance |
Upper distance to still render. | |
Real | mSquaredUpperDistance |
bool | mBeyondFarDistance |
Hidden because of distance? | |
Any | mUserAny |
User defined link to another object / value / whatever. | |
uint8 | mRenderQueueID |
The render queue to use when rendering this object. | |
bool | mRenderQueueIDSet |
Flags whether the RenderQueue's default should be used. | |
uint32 | mQueryFlags |
Flags determining whether this object is included / excluded from scene queries. | |
uint32 | mVisibilityFlags |
Flags determining whether this object is visible (compared to SceneManager mask). | |
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? | |
Static Protected Attributes | |
uint32 | msDefaultQueryFlags |
Default query flags. | |
uint32 | msDefaultVisibilityFlags |
Default visibility flags. | |
AnimableDictionaryMap | msAnimableDictionary |
Static map of class name to list of animable value names. |
Definition at line 91 of file OgreManualObject.h.
|
Definition at line 202 of file OgreAnimable.h. |
|
Definition at line 306 of file OgreManualObject.h. |
|
Definition at line 121 of file OgreShadowCaster.h. |
|
Definition at line 122 of file OgreShadowCaster.h. |
|
|
|
|
|
Get the manager of this object, if any (internal use only).
Definition at line 111 of file OgreMovableObject.h. |
|
return the full transformation of the parent sceneNode or the attachingPoint node
|
|
Internal method called to notify the object that it has been attached to a node.
Reimplemented in Ogre::Entity, and Ogre::ParticleSystem. |
|
Notify the object of it's creator (internal use only).
Definition at line 107 of file OgreMovableObject.h. |
|
Internal method to notify the object of the camera to be used for the next rendering operation.
Reimplemented in Ogre::BillboardChain, Ogre::BillboardSet, Ogre::Entity, Ogre::Frustum, Ogre::MovablePlane, Ogre::ParticleSystem, Ogre::SimpleRenderable, Ogre::StaticGeometry::Region, and Ogre::TerrainRenderable. |
|
Notify the object of it's manager (internal use only).
Definition at line 109 of file OgreMovableObject.h. |
|
Implements Ogre::MovableObject. |
|
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
Definition at line 268 of file OgreMovableObject.h. References Ogre::uint32. |
|
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object.
Definition at line 296 of file OgreMovableObject.h. References Ogre::uint32. |
|
Start defining a part of the object.
|
|
Completely clear the contents of the object.
|
|
Add a vertex colour to a vertex.
|
|
Add a vertex colour to a vertex.
|
|
Convert this object to a Mesh.
|
|
Copy current temp vertex into buffer.
|
|
Internal method for creating a dictionary of animable value names for the class, if it does not already exist.
Definition at line 215 of file OgreAnimable.h. References Ogre::StringVector. |
|
Create a reference-counted AnimableValuePtr for the named value.
Reimplemented in Ogre::Light. Definition at line 281 of file OgreAnimable.h. References Ogre::AnimableValuePtr, OGRE_EXCEPT, and Ogre::String. |
|
Finish defining the object and compile the final renderable version.
|
|
Estimate the number of vertices ahead of time.
|
|
Estimate the number of vertices ahead of time.
|
|
Utility method for extruding a bounding box.
|
|
Utility method for extruding vertices based on a light.
|
|
Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.
|
|
Get the name of the animable dictionary for this class.
Reimplemented in Ogre::Light. Definition at line 210 of file OgreAnimable.h. References Ogre::String. |
|
Gets a list of animable value names for this object.
Definition at line 256 of file OgreAnimable.h. References OGRE_EXCEPT, and Ogre::StringVector. |
|
Get an updateable reference to animable value list.
Definition at line 228 of file OgreAnimable.h. References OGRE_EXCEPT, and Ogre::StringVector. |
|
Implements Ogre::MovableObject. |
|
.
Implements Ogre::MovableObject. |
|
Returns whether shadow casting is enabled for this object.
Implements Ogre::ShadowCaster. Definition at line 339 of file OgreMovableObject.h. |
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. |
|
Get the default query flags for all future MovableObject instances.
Definition at line 283 of file OgreMovableObject.h. References Ogre::uint32. |
|
Get the default visibility flags for all future MovableObject instances.
Definition at line 311 of file OgreMovableObject.h. References Ogre::uint32. |
|
Implement this method to enable stencil shadows.
Reimplemented from Ogre::MovableObject. |
|
Helper moethod for calculating extrusion distance.
|
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. |
|
.
Implements Ogre::MovableObject. |
|
Returns the name of this object.
Reimplemented in Ogre::Camera. Definition at line 114 of file OgreMovableObject.h. References Ogre::String. |
|
Returns the node to which this object is attached.
|
|
Returns the scene node to which this object is attached.
|
|
Get the distance to extrude for a point/spot light.
Implements Ogre::ShadowCaster. |
|
Returns the query flags relevant for this object.
Definition at line 275 of file OgreMovableObject.h. References Ogre::uint32. |
|
Gets the distance at which batches are no longer rendered.
Definition at line 208 of file OgreMovableObject.h. References Ogre::Real. |
|
Gets the queue group for this entity, see setRenderQueueGroup for full details.
|
|
Implement this method to enable stencil shadows.
Reimplemented from Ogre::MovableObject. |
|
Get the 'type flags' for this MovableObject.
Reimplemented in Ogre::BillboardSet, Ogre::Entity, Ogre::Light, Ogre::ParticleSystem, Ogre::StaticGeometry::Region, and Ogre::TerrainRenderable. |
|
Retrieves the custom user value associated with this object.
Definition at line 236 of file OgreMovableObject.h. |
|
Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.
Definition at line 220 of file OgreMovableObject.h. |
|
Returns the visibility flags relevant for this object.
Definition at line 303 of file OgreMovableObject.h. References Ogre::uint32. |
|
Retrieves the axis-aligned bounding box for this object in world coordinates.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. |
|
Retrieves the worldspace bounding sphere for this object.
Reimplemented in Ogre::Entity. |
|
Add a vertex index to construct faces / lines / points via indexing rather than just by a simple list of vertices.
|
|
Internal method for initialising dictionary; should be implemented by subclasses wanting to expose animable parameters.
Reimplemented in Ogre::Light. Definition at line 248 of file OgreAnimable.h. References Ogre::StringVector. |
|
Returns true if this object is attached to a SceneNode or TagPoint.
|
|
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.
|
|
Returns whether or not this object is supposed to be visible or not.
Reimplemented in Ogre::StaticGeometry::Region. |
|
|
|
Add a vertex normal to the current vertex.
|
|
|
|
Add a vertex position, starting a new vertex at the same time.
|
|
Add a set of 4 vertex indices to construct a quad (out of 2 triangles); this is a shortcut to calling index() 6 times, or triangle() twice. It's only valid for triangle list operations.
|
|
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
Definition at line 272 of file OgreMovableObject.h. |
|
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object.
Definition at line 300 of file OgreMovableObject.h. References Ogre::uint32. |
|
Delete temp buffers and reset init counts.
|
|
Resize the temp index buffer?
|
|
Resize the temp vertex buffer?
|
|
Sets whether or not this object will cast shadows.
Definition at line 337 of file OgreMovableObject.h. |
|
Set the default query flags for all future MovableObject instances.
Definition at line 279 of file OgreMovableObject.h. References Ogre::uint32. |
|
Set the default visibility flags for all future MovableObject instances.
Definition at line 307 of file OgreMovableObject.h. References Ogre::uint32. |
|
Sets the query flags for this object.
Definition at line 264 of file OgreMovableObject.h. References Ogre::uint32. |
|
Sets the distance at which the object is no longer rendered.
Definition at line 202 of file OgreMovableObject.h. References Ogre::Real. |
|
Sets the render queue group this entity will be rendered through.
Reimplemented in Ogre::Entity, and Ogre::ParticleSystem. |
|
Sets any kind of user value on this object.
Definition at line 232 of file OgreMovableObject.h. |
|
Call this to associate your own custom user object instance with this MovableObject.
Definition at line 216 of file OgreMovableObject.h. |
|
Sets the visiblity flags for this object.
Definition at line 292 of file OgreMovableObject.h. References Ogre::uint32. |
|
Tells this object whether to be visible or not, if it has a renderable component.
Reimplemented in Ogre::Light. |
|
|
|
|
|
|
|
|
|
Add a texture coordinate to the current vertex.
|
|
Add a set of 3 vertex indices to construct a triangle; this is a shortcut to calling index() 3 times. It is only valid for triangle lists.
|
|
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.
|
|
Bounding box.
Definition at line 341 of file OgreManualObject.h. |
|
Any indexed geoemtry on any sections?
Definition at line 345 of file OgreManualObject.h. |
|
Hidden because of distance?
Definition at line 68 of file OgreMovableObject.h. |
|
Does this object cast shadows?
Definition at line 86 of file OgreMovableObject.h. |
|
Creator of this object (if created by a factory).
Definition at line 56 of file OgreMovableObject.h. |
|
Current section.
Definition at line 312 of file OgreManualObject.h. |
|
Current declaration vertex size.
Definition at line 337 of file OgreManualObject.h. |
|
Edge list, used if stencil shadow casting is enabled.
Definition at line 347 of file OgreManualObject.h. |
|
First vertex indicator.
Definition at line 325 of file OgreManualObject.h. |
|
SceneManager holding this object (if applicable).
Definition at line 58 of file OgreMovableObject.h. |
|
Name of this object.
Reimplemented in Ogre::Camera. Definition at line 54 of file OgreMovableObject.h. |
|
Definition at line 61 of file OgreMovableObject.h. |
|
node to which this object is attached
Definition at line 60 of file OgreMovableObject.h. |
|
Flags determining whether this object is included / excluded from scene queries.
Definition at line 76 of file OgreMovableObject.h. |
|
Bounding sphere.
Definition at line 343 of file OgreManualObject.h. |
|
The render queue to use when rendering this object.
Definition at line 72 of file OgreMovableObject.h. |
|
Flags whether the RenderQueue's default should be used.
Definition at line 74 of file OgreMovableObject.h. |
|
Static map of class name to list of animable value names.
Definition at line 204 of file OgreAnimable.h. |
|
Default query flags.
Definition at line 90 of file OgreMovableObject.h. |
|
Default visibility flags.
Definition at line 92 of file OgreMovableObject.h. |
|
List of subsections.
Definition at line 310 of file OgreManualObject.h. |
|
List of shadow renderables.
Definition at line 349 of file OgreManualObject.h. |
|
Definition at line 66 of file OgreMovableObject.h. |
|
System-memory buffer whilst we establish the size required.
Definition at line 333 of file OgreManualObject.h. |
|
System memory allocation size, in bytes.
Definition at line 335 of file OgreManualObject.h. |
|
Temp storage.
Definition at line 323 of file OgreManualObject.h. |
|
System-memory buffer whilst we establish the size required.
Definition at line 329 of file OgreManualObject.h. |
|
Temp vertex data to copy?
Definition at line 327 of file OgreManualObject.h. |
|
System memory allocation size, in bytes.
Definition at line 331 of file OgreManualObject.h. |
|
Current texture coordinate.
Definition at line 339 of file OgreManualObject.h. |
|
Upper distance to still render.
Definition at line 65 of file OgreMovableObject.h. |
|
User defined link to another object / value / whatever.
Definition at line 70 of file OgreMovableObject.h. |
|
Flags determining whether this object is visible (compared to SceneManager mask).
Definition at line 78 of file OgreMovableObject.h. |
|
Is this object visible?
Definition at line 63 of file OgreMovableObject.h. |
|
Cached world AABB of this object.
Reimplemented in Ogre::ParticleSystem. Definition at line 80 of file OgreMovableObject.h. |
|
Definition at line 82 of file OgreMovableObject.h. |
|
World space AABB of this object's dark cap.
Definition at line 84 of file OgreMovableObject.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:39:38 2006