![]() |
OGRE-Next 3.0.0
Object-Oriented Graphics Rendering Engine
|
#include <OgreManualObject2.h>
Inheritance diagram for Ogre::ManualObject:Classes | |
| class | ManualObjectSection |
| Built, renderable section of geometry. More... | |
Public Types | |
| typedef vector< ManualObjectSection * >::type | SectionList |
Public Types inherited from Ogre::MovableObject | |
| typedef FastArray< MovableObject * > | MovableObjectArray |
Public Member Functions | |
| ManualObject (IdType id, ObjectMemoryManager *objectMemoryManager, SceneManager *manager) | |
| ~ManualObject () override | |
| void | _releaseManualHardwareResources () override |
| Notifies the movable object that hardware resources were lost. | |
| virtual_l1 void | begin (const String &datablockName, OperationType opType=OT_TRIANGLE_LIST) |
| Start defining a part of the object. | |
| virtual_l1 void | beginUpdate (size_t sectionIndex) |
| Start the definition of an update to a part of the object. | |
| virtual_l1 void | clear () |
| Completely clear the contents of the object. | |
| virtual_l1 void | colour (const ColourValue &col) |
| Add a vertex diffuse colour to a vertex. | |
| virtual_l1 void | colour (Real r, Real g, Real b, Real a=1.0f) |
| Add a vertex diffuse colour to a vertex. | |
| virtual_l1 MeshPtr | convertToMesh (const String &meshName, const String &groupName=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, bool buildShadowMapBuffers=true) |
| Convert this object to a Mesh. | |
| size_t | currentIndexCount () |
| Get the current count of indices when building a new buffer. | |
| size_t | currentVertexCount () |
| Get the current count of vertices when building a new buffer. | |
| virtual_l1 ManualObjectSection * | end () |
| Finish defining the object and compile the final renderable version. | |
| virtual_l1 void | estimateIndexCount (size_t icount) |
| Estimate the number of indices ahead of time. | |
| virtual_l1 void | estimateVertexCount (size_t vcount) |
| Estimate the number of vertices ahead of time. | |
| virtual_l1 size_t | getCurrentIndexCount () const |
| Get the number of indices in the section currently being defined (returns 0 if no section is in progress). | |
| virtual_l1 size_t | getCurrentVertexCount () const |
| Get the number of vertices in the section currently being defined (returns 0 if no section is in progress). | |
| const String & | getMovableType () const override |
| Returns the type name of this object. | |
| unsigned int | getNumSections () const |
| Retrieves the number of ManualObjectSection objects making up this ManualObject. | |
| ManualObjectSection * | getSection (const Ogre::String &name) const |
| Gets a pointer to a previously named ManualObjectSection (via ManualObjectSection::setName). | |
| ManualObjectSection * | getSection (unsigned int index) const |
| Gets a pointer to a ManualObjectSection, i.e. | |
| virtual_l1 void | index (uint32 idx) |
| Add a vertex index to construct faces / lines / points. | |
| virtual_l1 void | line (uint32 i1, uint32 i2) |
| Add a set of 2 vertex indices to construct a line; this is a shortcut to calling index() 2 times. | |
| virtual_l1 void | normal (const Vector3 &norm) |
| Add a vertex normal to the current vertex. | |
| virtual_l1 void | normal (Real x, Real y, Real z) |
| Add a vertex normal to the current vertex. | |
| virtual_l1 void | position (const Vector3 &pos) |
| Add a vertex position, starting a new vertex at the same time. | |
| virtual_l1 void | position (Real x, Real y, Real z) |
| Add a vertex position, starting a new vertex at the same time. | |
| virtual_l1 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. | |
| void | removeSection (unsigned int idx) |
| Removes the section with given index. | |
| void | setDatablock (size_t subIndex, const String &name) |
| Alter the material for a subsection of this object after it has been specified. | |
| virtual_l1 void | specular (const ColourValue &col) |
| Add a vertex specular colour to a vertex. | |
| virtual_l1 void | specular (Real r, Real g, Real b, Real a=1.0f) |
| Add a vertex specular colour to a vertex. | |
| virtual_l1 void | tangent (const Vector3 &tan) |
| Add a vertex tangent to the current vertex. | |
| virtual_l1 void | tangent (Real x, Real y, Real z) |
| Add a vertex tangent to the current vertex. | |
| virtual_l1 void | textureCoord (const Vector2 &uv) |
| Add a texture coordinate to the current vertex. | |
| virtual_l1 void | textureCoord (const Vector3 &uvw) |
| Add a texture coordinate to the current vertex. | |
| virtual_l1 void | textureCoord (const Vector4 &xyzw) |
| Add a texture coordinate to the current vertex. | |
| virtual_l1 void | textureCoord (Real u) |
| Add a texture coordinate to the current vertex. | |
| virtual_l1 void | textureCoord (Real u, Real v) |
| Add a texture coordinate to the current vertex. | |
| virtual_l1 void | textureCoord (Real u, Real v, Real w) |
| Add a texture coordinate to the current vertex. | |
| virtual_l1 void | textureCoord (Real x, Real y, Real z, Real w) |
| Add a texture coordinate to the current vertex. | |
| virtual_l1 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. | |
Public Member Functions inherited from Ogre::MovableObject | |
| MovableObject (IdType id, ObjectMemoryManager *objectMemoryManager, SceneManager *manager, uint8 renderQueueId) | |
| Constructor. | |
| MovableObject (ObjectData *objectDataPtrs) | |
| Don't use this constructor unless you know what you're doing. | |
| virtual | ~MovableObject () |
| Virtual destructor - read Scott Meyers if you don't know why this is needed. | |
| LightList * | _getLightList () |
| Returns a pointer to the current list of lights for this object. | |
| SceneManager * | _getManager () const |
| Get the manager of this object, if any (internal use only) | |
| ObjectData & | _getObjectData () |
| Returns a direct access to the ObjectData state. | |
| const Matrix4 & | _getParentNodeFullTransform () const |
| Returns the full transformation of the parent sceneNode or the attachingPoint node. | |
| virtual void | _notifyAttached (Node *parent) |
| Internal method called to notify the object that it has been attached to a node. | |
| void | _notifyManager (SceneManager *man) |
| Notify the object of it's manager (internal use only) | |
| virtual void | _notifyParentNodeMemoryChanged () |
| virtual void | _notifyStaticDirty () const |
| Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly. | |
| virtual void | _restoreManualHardwareResources () |
| Notifies the movable object that hardware resources should be restored. | |
| virtual void | _updateRenderQueue (RenderQueue *queue, Camera *camera, const Camera *lodCamera) |
| Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |
| 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 () |
| Detaches an object from a parent SceneNode if attached. | |
| RealAsUint | getCachedDistanceToCamera () const |
| Returns the distance to camera as calculated in cullFrustum() | |
| Real | getCachedDistanceToCameraAsReal () const |
| Returns the distance to camera as calculated in cullFrustum() | |
| bool | getCastShadows () const |
| Returns whether shadow casting is enabled for this object. | |
| unsigned char | getCurrentMeshLod () const |
| uint32 | getLightMask () const |
| Get a bitwise mask which will filter the lights affecting this object. | |
| Listener * | getListener () const |
| Gets the current listener for this object. | |
| Aabb | getLocalAabb () const |
| Retrieves the local axis-aligned bounding box for this object. | |
| float | getLocalRadius () const |
| See getLocalAabb and getWorldRadius. | |
| const String & | getName () const |
| Returns the name of this object. | |
| Node * | getParentNode () const |
| Returns the node to which this object is attached. | |
| SceneNode * | getParentSceneNode () const |
| uint32 | getQueryFlags () const |
| Returns the query flags relevant for this object. | |
| Real | getRenderingDistance () 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 () const |
| Gets the queue group for this entity, see setRenderQueueGroup for full details. | |
| Real | getShadowRenderingDistance () const |
| Gets the distance at which batches are no longer casting shadows. | |
| SkeletonInstance * | getSkeletonInstance () 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. | |
| uint32 | getVisibilityFlags () const |
| Returns the visibility flags relevant for this object. | |
| bool | getVisible () const |
| Gets this object whether to be visible or not, if it has a renderable component. | |
| Aabb | getWorldAabb () const |
| Gets the axis aligned box in world space. | |
| Aabb | getWorldAabbUpdated () |
| Gets the axis aligned box in world space. | |
| float | getWorldRadius () const |
| Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). | |
| float | getWorldRadiusUpdated () |
| Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). | |
| virtual void | instanceBatchCullFrustumThreaded (const Frustum *frustum, const Camera *lodCamera, uint32 combinedVisibilityFlags) |
| bool | isAttached () const |
| Returns true if this object is attached to a Node. | |
| bool | isStatic () const |
| Checks whether this MovableObject is static. | |
| bool | isVisible () const |
| Returns whether or not this object is supposed to be visible or not. | |
| const LightList & | queryLights () 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 | 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 | setLocalAabb (const Aabb box) |
| Sets the local axis-aligned bounding box for this object. | |
| void | setName (const String &name) |
| Sets a custom name for this node. | |
| 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. | |
| void | setShadowRenderingDistance (Real dist) |
| Sets the distance at which the object is no longer casting shadows. | |
| bool | setStatic (bool bStatic) |
| Turns this Node into static or dynamic. | |
| 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::AnimableObject | |
| AnimableObject () | |
| virtual | ~AnimableObject () |
| virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
| Create a reference-counted AnimableValuePtr for the named value. | |
| const StringVector & | getAnimableValueNames () const |
| Gets a list of animable value names for this object. | |
Public Member Functions inherited from Ogre::IdObject | |
| IdObject (IdType id) | |
| We don't call generateNewId() here, to prevent objects in the stack (i.e. | |
| IdType | getId () const |
| Get the unique id of this object. | |
| bool | operator() (const IdObject &left, const IdObject &right) |
| bool | operator() (const IdObject *left, const IdObject *right) |
Additional Inherited Members | |
Static Public Member Functions inherited from Ogre::MovableObject | |
| static void | buildLightList (const size_t numNodes, ObjectData t, const LightListInfo &globalLightList) |
| static void | calculateCastersBox (const size_t numNodes, ObjectData t, uint32 sceneVisibilityFlags, AxisAlignedBox *outBox) |
| static void | cullFrustum (const size_t numNodes, ObjectData t, const Camera *frustum, uint32 sceneVisibilityFlags, MovableObjectArray &outCulledObjects, const Camera *lodCamera) |
| static void | cullLights (const size_t numNodes, ObjectData t, uint32 sceneLightMask, LightListInfo &outGlobalLightList, const FrustumVec &frustums, const FrustumVec &cubemapFrustums) |
| See SceneManager::cullLights & see MovableObject::cullFrustum. | |
| static uint32 | getDefaultLightMask () |
| Get the default light mask for all future MovableObject instances. | |
| 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 | setDefaultLightMask (uint32 mask) |
| Set the default light mask for all future MovableObject instances. | |
| static void | setDefaultQueryFlags (uint32 flags) |
| Set the default query flags for all future MovableObject instances. | |
| static void | setDefaultVisibilityFlags (uint32 flags) |
| Set the default visibility flags for all future MovableObject instances. | |
| static void | updateAllBounds (const size_t numNodes, ObjectData t) |
Public Attributes inherited from Ogre::MovableObject | |
| size_t | mGlobalIndex |
| Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks). | |
| size_t | mParentIndex |
| Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks). | |
| RenderableArray | mRenderables |
Static Public Attributes inherited from Ogre::MovableObject | |
| static const FastArray< Real > | c_DefaultLodMesh |
| typedef vector<ManualObjectSection*>::type Ogre::ManualObject::SectionList |
| Ogre::ManualObject::ManualObject | ( | IdType | id, |
| ObjectMemoryManager * | objectMemoryManager, | ||
| SceneManager * | manager ) |
|
override |
|
inlineoverridevirtual |
Notifies the movable object that hardware resources were lost.
Reimplemented from Ogre::MovableObject.
References clear().
| virtual_l1 void Ogre::ManualObject::begin | ( | const String & | datablockName, |
| OperationType | opType = OT_TRIANGLE_LIST ) |
Start defining a part of the object.
| datablockName | The name of the datablock to render this part of the object with. |
| opType | The type of operation to use to render. |
References Ogre::OT_TRIANGLE_LIST, and virtual_l1.
| virtual_l1 void Ogre::ManualObject::beginUpdate | ( | size_t | sectionIndex | ) |
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. |
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::clear | ( | ) |
Completely clear the contents of the object.
References virtual_l1.
Referenced by _releaseManualHardwareResources().
| virtual_l1 void Ogre::ManualObject::colour | ( | const ColourValue & | col | ) |
Add a vertex diffuse colour to a vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::colour | ( | Real | r, |
| Real | g, | ||
| Real | b, | ||
| Real | a = 1.0f ) |
Add a vertex diffuse colour to a vertex.
| r,g,b,a | Colour components expressed as floating point numbers from 0-1 |
References virtual_l1.
| virtual_l1 MeshPtr Ogre::ManualObject::convertToMesh | ( | const String & | meshName, |
| const String & | groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, | ||
| bool | buildShadowMapBuffers = true ) |
Convert this object to a Mesh.
| meshName | The name to give the mesh |
| groupName | The resource group to create the mesh in |
| buildShadowMapBuffers | True to create an optimized copy of the vertex buffers for efficient shadow mapping. |
References Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME.
| size_t Ogre::ManualObject::currentIndexCount | ( | ) |
Get the current count of indices when building a new buffer.
| size_t Ogre::ManualObject::currentVertexCount | ( | ) |
Get the current count of vertices when building a new buffer.
| virtual_l1 ManualObjectSection * Ogre::ManualObject::end | ( | ) |
Finish defining the object and compile the final renderable version.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::estimateIndexCount | ( | size_t | icount | ) |
Estimate the number of indices ahead of time.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::estimateVertexCount | ( | size_t | vcount | ) |
Estimate the number of vertices ahead of time.
References virtual_l1.
| virtual_l1 size_t Ogre::ManualObject::getCurrentIndexCount | ( | ) | const |
Get the number of indices in the section currently being defined (returns 0 if no section is in progress).
References virtual_l1.
| virtual_l1 size_t Ogre::ManualObject::getCurrentVertexCount | ( | ) | const |
Get the number of vertices in the section currently being defined (returns 0 if no section is in progress).
References virtual_l1.
|
overridevirtual |
Returns the type name of this object.
Implements Ogre::MovableObject.
| unsigned int Ogre::ManualObject::getNumSections | ( | ) | const |
Retrieves the number of ManualObjectSection objects making up this ManualObject.
| ManualObjectSection * Ogre::ManualObject::getSection | ( | const Ogre::String & | name | ) | const |
Gets a pointer to a previously named ManualObjectSection (via ManualObjectSection::setName).
| ManualObjectSection * Ogre::ManualObject::getSection | ( | unsigned int | index | ) | const |
| virtual_l1 void Ogre::ManualObject::index | ( | uint32 | idx | ) |
Add a vertex index to construct faces / lines / points.
| idx | A vertex index from 0 to 4294967295. |
References virtual_l1.
Referenced by Ogre::Volume::MeshBuilder::addCubeToManualObject(), and getSection().
| virtual_l1 void Ogre::ManualObject::line | ( | uint32 | i1, |
| uint32 | i2 ) |
Add a set of 2 vertex indices to construct a line; this is a shortcut to calling index() 2 times.
It is only valid for line lists.
| i1,i2 | 2 vertex indices from 0 to 4294967295 defining a face. |
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::normal | ( | const Vector3 & | norm | ) |
Add a vertex normal to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::normal | ( | Real | x, |
| Real | y, | ||
| Real | z ) |
Add a vertex normal to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::position | ( | const Vector3 & | pos | ) |
Add a vertex position, starting a new vertex at the same time.
References virtual_l1.
Referenced by Ogre::Volume::MeshBuilder::addCubeToManualObject().
| virtual_l1 void Ogre::ManualObject::position | ( | Real | x, |
| Real | y, | ||
| Real | z ) |
Add a vertex position, starting a new vertex at the same time.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::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.
It's only valid for triangle list operations.
| i1,i2,i3,i4 | 4 vertex indices from 0 to 4294967295 defining a quad. |
References virtual_l1.
| void Ogre::ManualObject::removeSection | ( | unsigned int | idx | ) |
Removes the section with given index.
| idx | Index of section to remove. |
| void Ogre::ManualObject::setDatablock | ( | size_t | subIndex, |
| const String & | name ) |
Alter the material for a subsection of this object after it has been specified.
| subIndex | The index of the subsection to alter |
| name | The name of the new datablock to use |
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::specular | ( | const ColourValue & | col | ) |
Add a vertex specular colour to a vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::specular | ( | Real | r, |
| Real | g, | ||
| Real | b, | ||
| Real | a = 1.0f ) |
Add a vertex specular colour to a vertex.
| r,g,b,a | Colour components expressed as floating point numbers from 0-1 |
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::tangent | ( | const Vector3 & | tan | ) |
Add a vertex tangent to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::tangent | ( | Real | x, |
| Real | y, | ||
| Real | z ) |
Add a vertex tangent to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::textureCoord | ( | const Vector2 & | uv | ) |
Add a texture coordinate to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::textureCoord | ( | const Vector3 & | uvw | ) |
Add a texture coordinate to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::textureCoord | ( | const Vector4 & | xyzw | ) |
Add a texture coordinate to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::textureCoord | ( | Real | u | ) |
Add a texture coordinate to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::textureCoord | ( | Real | u, |
| Real | v ) |
Add a texture coordinate to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::textureCoord | ( | Real | u, |
| Real | v, | ||
| Real | w ) |
Add a texture coordinate to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::textureCoord | ( | Real | x, |
| Real | y, | ||
| Real | z, | ||
| Real | w ) |
Add a texture coordinate to the current vertex.
References virtual_l1.
| virtual_l1 void Ogre::ManualObject::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.
It is only valid for triangle lists.
| i1,i2,i3 | 3 vertex indices from 0 to 4294967295 defining a face. |
References virtual_l1.