#include <OgreManualObject.h>

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 indices 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 | setDynamic (bool dyn) | ||||||
| Use before defining geometry to indicate that you intend to update the geometry regularly and want the internal structure to reflect that. | |||||||
| virtual bool | getDynamic () const | ||||||
| Gets whether this object is marked as dynamic. | |||||||
| virtual void | beginUpdate (size_t sectionIndex) | ||||||
| Start the definition of an update to 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) | ||||||
| Add a vertex position, starting a new vertex at the same time.
| |||||||
| virtual void | normal (const Vector3 &norm) | ||||||
| Add a vertex normal to the current vertex. | |||||||
| virtual void | normal (Real x, Real y, Real z) | ||||||
| Add a vertex normal to the current vertex.
| |||||||
| virtual void | textureCoord (Real u) | ||||||
| Add a texture coordinate to the current vertex. | |||||||
| virtual void | textureCoord (Real u, Real v) | ||||||
| Add a texture coordinate to the current vertex.
| |||||||
| virtual void | textureCoord (Real u, Real v, Real w) | ||||||
| Add a texture coordinate to the current vertex.
| |||||||
| virtual void | textureCoord (Real x, Real y, Real z, Real w) | ||||||
| Add a texture coordinate to the current vertex.
| |||||||
| virtual void | textureCoord (const Vector2 &uv) | ||||||
| Add a texture coordinate to the current vertex.
| |||||||
| virtual void | textureCoord (const Vector3 &uvw) | ||||||
| Add a texture coordinate to the current vertex.
| |||||||
| virtual void | textureCoord (const Vector4 &xyzw) | ||||||
| Add a texture coordinate to the current vertex.
| |||||||
| 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 (uint32 idx) | ||||||
| Add a vertex index to construct faces / lines / points via indexing rather than just by a simple list of vertices. | |||||||
| virtual void | triangle (uint32 i1, uint32 i2, uint32 i3) | ||||||
| Add a set of 3 vertex indices to construct a triangle; this is a shortcut to calling index() 3 times. | |||||||
| virtual void | quad (uint32 i1, uint32 i2, uint32 i3, uint32 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 ManualObjectSection * | end (void) | ||||||
| Finish defining the object and compile the final renderable version. | |||||||
| virtual void | setMaterialName (size_t subindex, const String &name) | ||||||
| Alter the material for a subsection of this object after it has been specified. | |||||||
| virtual MeshPtr | convertToMesh (const String &meshName, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME) | ||||||
| Convert this object to a Mesh. | |||||||
| void | setUseIdentityProjection (bool useIdentityProjection) | ||||||
| Sets whether or not to use an 'identity' projection. | |||||||
| bool | getUseIdentityProjection (void) const | ||||||
| Returns whether or not to use an 'identity' projection. | |||||||
| void | setUseIdentityView (bool useIdentityView) | ||||||
| Sets whether or not to use an 'identity' view. | |||||||
| bool | getUseIdentityView (void) const | ||||||
| Returns whether or not to use an 'identity' view. | |||||||
| void | setBoundingBox (const AxisAlignedBox &box) | ||||||
| Sets the bounding box. | |||||||
| ManualObjectSection * | getSection (unsigned int index) const | ||||||
| Gets a pointer to a ManualObjectSection, i.e. | |||||||
| unsigned int | getNumSections (void) const | ||||||
| Retrieves the number of ManualObjectSection objects making up this ManualObject. | |||||||
| void | setKeepDeclarationOrder (bool keepOrder) | ||||||
| Sets whether or not to keep the original declaration order when queuing the renderables. | |||||||
| bool | getKeepDeclarationOrder () const | ||||||
| Gets whether or not the declaration order is to be kept or not. | |||||||
| const String & | getMovableType (void) const | ||||||
| Returns the type name of this object. . | |||||||
| 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. . | |||||||
| void | _updateRenderQueue (RenderQueue *queue) | ||||||
| Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
| |||||||
| EdgeData * | getEdgeList (void) | ||||||
| Implement this method to enable stencil shadows. | |||||||
| bool | hasEdgeList (void) | ||||||
| Overridden member from ShadowCaster. | |||||||
| ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDist, unsigned long flags=0) | ||||||
| Implement this method to enable stencil shadows. | |||||||
| 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.
| |||||||
| virtual void | _notifyCreator (MovableObjectFactory *fact) | ||||||
| Notify the object of it's creator (internal use only). | |||||||
| virtual MovableObjectFactory * | _getCreator (void) const | ||||||
| Get the creator of this object, if any (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 void | detatchFromParent (void) | ||||||
| Detaches an object from a parent SceneNode or TagPoint, if attached. | |||||||
| 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 | _notifyMoved (void) | ||||||
| Internal method called to notify the object that it has been moved. | |||||||
| 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 | getVisible (void) const | ||||||
| Gets 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 const 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. | |||||||
| virtual void | setListener (Listener *listener) | ||||||
| Sets a listener for this object. | |||||||
| virtual Listener * | getListener (void) const | ||||||
| Gets the current listener for this object. | |||||||
| virtual const LightList & | queryLights (void) const | ||||||
| Gets a list of lights, ordered relative to how close they are to this movable object. | |||||||
| virtual LightList * | _getLightList () | ||||||
| Returns a pointer to the current list of lights 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. | |||||||
| virtual void | setDebugDisplayEnabled (bool enabled) | ||||||
| Sets whether or not the debug display of this object is enabled. | |||||||
| virtual bool | isDebugDisplayEnabled (void) const | ||||||
| Gets whether debug display of this object is enabled. | |||||||
| 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. | |||||||
| void * | operator new (size_t sz, const char *file, int line, const char *func) | ||||||
| operator new, with debug line info | |||||||
| void * | operator new (size_t sz) | ||||||
| void * | operator new (size_t sz, void *ptr) | ||||||
| placement operator new | |||||||
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) | ||||||
| array operator new, with debug line info | |||||||
| void * | operator new[] (size_t sz) | ||||||
| void | operator delete (void *ptr) | ||||||
| void | operator delete (void *ptr, const char *, int, const char *) | ||||||
| void | operator delete[] (void *ptr) | ||||||
| void | operator delete[] (void *ptr, const char *, int, const char *) | ||||||
Static Public Member Functions | |||||||
| static void | setDefaultQueryFlags (uint32 flags) | ||||||
| Set the default query flags for all future MovableObject instances. | |||||||
| static uint32 | getDefaultQueryFlags () | ||||||
| Get 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 uint32 | getDefaultVisibilityFlags () | ||||||
| Get the default visibility flags for all future MovableObject instances. | |||||||
| static void | extrudeVertices (const 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 method 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, const 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 &) const | ||||||
| Internal method for initialising dictionary; should be implemented by subclasses wanting to expose animable parameters. | |||||||
Protected Attributes | |||||||
| bool | mDynamic | ||||||
| Dynamic? | |||||||
| SectionList | mSectionList | ||||||
| List of subsections. | |||||||
| ManualObjectSection * | mCurrentSection | ||||||
| Current section. | |||||||
| bool | mCurrentUpdating | ||||||
| Are we updating? | |||||||
| 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. | |||||||
| uint32 * | 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. | |||||||
| size_t | mEstVertexCount | ||||||
| Estimated vertex count. | |||||||
| size_t | mEstIndexCount | ||||||
| Estimated index count. | |||||||
| ushort | mTexCoordIndex | ||||||
| Current texture coordinate. | |||||||
| AxisAlignedBox | mAABB | ||||||
| Bounding box. | |||||||
| Real | mRadius | ||||||
| Bounding sphere. | |||||||
| bool | mAnyIndexed | ||||||
| Any indexed geometry on any sections? | |||||||
| EdgeData * | mEdgeList | ||||||
| Edge list, used if stencil shadow casting is enabled. | |||||||
| ShadowRenderableList | mShadowRenderables | ||||||
| List of shadow renderables. | |||||||
| bool | mUseIdentityProjection | ||||||
| Whether to use identity projection for sections. | |||||||
| bool | mUseIdentityView | ||||||
| Whether to use identity view for sections. | |||||||
| bool | mKeepDeclarationOrder | ||||||
| Keep declaration order or let the queue optimize it. | |||||||
| 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? | |||||||
| bool | mDebugDisplay | ||||||
| Is debug display enabled? | |||||||
| 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? | |||||||
| bool | mRenderingDisabled | ||||||
| Does rendering this object disabled by listener? | |||||||
| Listener * | mListener | ||||||
| MovableObject listener - only one allowed (no list) for size & performance reasons. */. | |||||||
| LightList | mLightList | ||||||
| List of lights for this object. | |||||||
| ulong | mLightListUpdated | ||||||
| The last frame that this light list was updated in. | |||||||
Static Protected Attributes | |||||||
| static uint32 | msDefaultQueryFlags | ||||||
| Default query flags. | |||||||
| static uint32 | msDefaultVisibilityFlags | ||||||
| Default visibility flags. | |||||||
| static AnimableDictionaryMap | msAnimableDictionary | ||||||
| Static map of class name to list of animable value names. | |||||||
Classes | |||||||
| class | ManualObjectSection | ||||||
| Built, renderable section of geometry. More... | |||||||
| class | ManualObjectSectionShadowRenderable | ||||||
| Nested class to allow shadows. More... | |||||||
| struct | TempVertex | ||||||
| Temporary vertex structure. More... | |||||||
Definition at line 101 of file OgreManualObject.h.
| typedef std::vector<ManualObjectSection*> Ogre::ManualObject::SectionList |
Definition at line 443 of file OgreManualObject.h.
typedef std::vector<ShadowRenderable*> Ogre::ShadowCaster::ShadowRenderableList [inherited] |
Definition at line 123 of file OgreShadowCaster.h.
typedef VectorIterator<ShadowRenderableList> Ogre::ShadowCaster::ShadowRenderableListIterator [inherited] |
Definition at line 124 of file OgreShadowCaster.h.
typedef std::map<String, StringVector> Ogre::AnimableObject::AnimableDictionaryMap [protected, inherited] |
Definition at line 234 of file OgreAnimable.h.
| Ogre::ManualObject::ManualObject | ( | const String & | name | ) |
| virtual Ogre::ManualObject::~ManualObject | ( | ) | [virtual] |
| virtual void Ogre::ManualObject::clear | ( | void | ) | [virtual] |
Completely clear the contents of the object.
| virtual void Ogre::ManualObject::estimateVertexCount | ( | size_t | vcount | ) | [virtual] |
Estimate the number of vertices ahead of time.
| virtual void Ogre::ManualObject::estimateIndexCount | ( | size_t | icount | ) | [virtual] |
Estimate the number of indices ahead of time.
| virtual void Ogre::ManualObject::begin | ( | const String & | materialName, | |
| RenderOperation::OperationType | opType = RenderOperation::OT_TRIANGLE_LIST | |||
| ) | [virtual] |
Start defining a part of the object.
| materialName | The name of the material to render this part of the object with. | |
| opType | The type of operation to use to render. |
| virtual void Ogre::ManualObject::setDynamic | ( | bool | dyn | ) | [virtual] |
Use before defining geometry to indicate that you intend to update the geometry regularly and want the internal structure to reflect that.
Definition at line 154 of file OgreManualObject.h.
| virtual bool Ogre::ManualObject::getDynamic | ( | ) | const [virtual] |
| virtual void Ogre::ManualObject::beginUpdate | ( | size_t | sectionIndex | ) | [virtual] |
Start the definition of an update to a part of the object.
| sectionIndex | The index of the section you want to update. The first call to begin() would have created section 0, the second section 1, etc. |
| virtual void Ogre::ManualObject::position | ( | const Vector3 & | pos | ) | [virtual] |
Add a vertex position, starting a new vertex at the same time.
Add a vertex position, starting a new vertex at the same time.
| virtual void Ogre::ManualObject::normal | ( | const Vector3 & | norm | ) | [virtual] |
Add a vertex normal to the current vertex.
Add a vertex normal to the current vertex.
| virtual void Ogre::ManualObject::textureCoord | ( | Real | u | ) | [virtual] |
Add a texture coordinate to the current vertex.
Add a texture coordinate to the current vertex.
Add a texture coordinate to the current vertex.
| virtual void Ogre::ManualObject::textureCoord | ( | Real&n |