#include <BaseVisual.hh>
Public Member Functions | |
virtual | ~BaseVisual () |
virtual void | AddChild (NodePtr _child) |
Add the given node to this visual. If the given node is already a child, no work will be done. More... | |
virtual void | AddGeometry (GeometryPtr _geometry) |
Add the given geometry to this visual. If the given node is already attached, no work will be done. More... | |
virtual NodePtr | ChildById (unsigned int _id) const |
Get node with given ID. If no child exists with given ID, NULL will be returned. More... | |
virtual NodePtr | ChildByIndex (unsigned int _index) const |
Get node at given index. If no child exists at given index, NULL will be returned. More... | |
virtual NodePtr | ChildByName (const std::string &_name) const |
Get node with given name. If no child exists with given name, NULL will be returned. More... | |
virtual unsigned int | ChildCount () const |
Get number of child nodes. More... | |
virtual void | Destroy () |
Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior. More... | |
virtual GeometryPtr | GeometryByIndex (unsigned int _index) const |
Get geometry at given index. If no geometry exists at given index, NULL will be returned. More... | |
virtual unsigned int | GeometryCount () const |
Get the number of geometries attached to this visual. More... | |
virtual bool | HasChild (ConstNodePtr _child) const |
Determine if given node is an attached child. More... | |
virtual bool | HasChildId (unsigned int _id) const |
Determine if node with given ID is an attached child. More... | |
virtual bool | HasChildName (const std::string &_name) const |
Determine if node with given name is an attached child. More... | |
virtual bool | HasGeometry (ConstGeometryPtr _geometry) const |
Determine if given geometry is attached to this visual. More... | |
virtual bool | InheritScale () const =0 |
Determine if this visual inherits scale from this parent. More... | |
virtual math::Pose3d | LocalPose () const |
Get the local pose. More... | |
virtual math::Vector3d | LocalScale () const =0 |
Get the local scale. More... | |
virtual MaterialPtr | Material () |
Get the material assigned to attached visuals and geometries. More... | |
virtual void | PreRender () |
Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender. More... | |
virtual NodePtr | RemoveChild (NodePtr _child) |
Remove the given node from this visual. If the given node is not a child of this visual, no work will be done. More... | |
virtual NodePtr | RemoveChildById (unsigned int _id) |
Remove the node with the given ID from this visual. If the specified node is not a child of this visual, no work will be done. More... | |
virtual NodePtr | RemoveChildByIndex (unsigned int _index) |
Remove the node at the given index from this visual. If the specified node is not a child of this visual, no work will be done. More... | |
virtual NodePtr | RemoveChildByName (const std::string &_name) |
Remove the node with the given name from this visual. If the specified node is not a child of this visual, no work will be done. More... | |
virtual void | RemoveChildren () |
Remove all child nodes from this visual. More... | |
virtual void | RemoveGeometries () |
Remove all attached geometries from this visual. More... | |
virtual GeometryPtr | RemoveGeometry (GeometryPtr _geometry) |
Remove the given geometry from this visual. If the given node is not a child of this visual, no work will be done. More... | |
virtual GeometryPtr | RemoveGeometryByIndex (unsigned int _index) |
Remove the geometry at the given index from this visual. If the specified node is not attached this visual, no work will be done. More... | |
virtual void | Scale (double _scale) |
Scale the current scale by the given scalar. The given scalar will be assigned to the x, y, and z coordinates. More... | |
virtual void | Scale (double _x, double _y, double _z) |
Scale the current scale by the given scalars. More... | |
virtual void | Scale (const math::Vector3d &_scale) |
Scale the current scale by the given scalars. More... | |
virtual void | SetChildMaterial (MaterialPtr _material, bool _unique=true) |
Set the material for all attached visuals only. More... | |
virtual void | SetGeometryMaterial (MaterialPtr _material, bool _unique=true) |
Set the material for all attached geometries only. More... | |
virtual void | SetLocalPose (const math::Pose3d &_pose) |
Set the local pose. More... | |
virtual void | SetLocalScale (double _scale) |
Set the local scale. The given scale will be assigned to the x, y, and z coordinates. More... | |
virtual void | SetLocalScale (double _x, double _y, double _z) |
Set the local scale. More... | |
virtual void | SetLocalScale (const math::Vector3d &_scale) |
Set the local scale. More... | |
virtual void | SetMaterial (const std::string &_name, bool _unique=true) |
Set the material for all attached visuals and geometries. The specified material will be retrieved from Scene::Material using the given material name. If no material is registered with the given name, no work will be done. More... | |
virtual void | SetMaterial (MaterialPtr _material, bool _unique=true) |
Set the material for all attached visuals and geometries. More... | |
virtual void | SetWorldScale (double _scale) |
Set the world scale. The given scale will be assigned to the x, y, and z coordinates. More... | |
virtual void | SetWorldScale (double _x, double _y, double _z) |
Set the world scale. More... | |
virtual void | SetWorldScale (const math::Vector3d &_scale) |
Set the world scale. More... | |
virtual math::Vector3d | WorldScale () const |
Get the world scale. More... | |
Public Member Functions inherited from Visual | |
virtual | ~Visual () |
Deconstructor. More... | |
virtual void | SetInheritScale (bool _inherit)=0 |
Specify if this visual inherits scale from its parent. More... | |
Public Member Functions inherited from Node | |
virtual | ~Node () |
Deconstructor. More... | |
virtual bool | HasParent () const =0 |
Determine if this Geometry is attached to a Visual. More... | |
virtual math::Vector3d | LocalPosition () const =0 |
Get the local position. More... | |
virtual math::Quaterniond | LocalRotation () const =0 |
Get the local rotation. More... | |
virtual math::Vector3d | Origin () const =0 |
Get position of origin. More... | |
virtual VisualPtr | Parent () const =0 |
Get the parent Visual. More... | |
virtual void | RemoveParent ()=0 |
Detach this Geometry from its parent Visual. If this Geometry does not have a parent, no work will be done. More... | |
virtual void | SetLocalPosition (double _x, double _y, double _z)=0 |
Set the local position. More... | |
virtual void | SetLocalPosition (const math::Vector3d &_position)=0 |
Set the local position. More... | |
virtual void | SetLocalRotation (double _r, double _p, double _y)=0 |
Set the local rotation. More... | |
virtual void | SetLocalRotation (double _w, double _x, double _y, double _z)=0 |
Set the local rotation. More... | |
virtual void | SetLocalRotation (const math::Quaterniond &_rotation)=0 |
Set the local rotation. More... | |
virtual void | SetOrigin (double _x, double _y, double _z)=0 |
Set position of origin. The position should be relative to the original origin of the geometry. More... | |
virtual void | SetOrigin (const math::Vector3d &_origin)=0 |
Set position of origin. The position should be relative to the original origin of the geometry. More... | |
virtual void | SetWorldPose (const math::Pose3d &_pose)=0 |
Set the world pose. More... | |
virtual void | SetWorldPosition (double _x, double _y, double _z)=0 |
Set the world position. More... | |
virtual void | SetWorldPosition (const math::Vector3d &_position)=0 |
Set the world position. More... | |
virtual void | SetWorldRotation (double _r, double _p, double _y)=0 |
Set the world rotation. More... | |
virtual void | SetWorldRotation (double _w, double _x, double _y, double _z)=0 |
Set the world rotation. More... | |
virtual void | SetWorldRotation (const math::Quaterniond &_rotation)=0 |
Set the world rotation. More... | |
virtual math::Pose3d | WorldPose () const =0 |
Get the world pose. More... | |
virtual math::Vector3d | WorldPosition () const =0 |
Get the world position. More... | |
virtual math::Quaterniond | WorldRotation () const =0 |
Get the world rotation. More... | |
virtual math::Pose3d | WorldToLocal (const math::Pose3d &_pose) const =0 |
Convert given world pose to local pose. More... | |
Public Member Functions inherited from Object | |
virtual | ~Object () |
Deconstructor. More... | |
virtual unsigned int | Id () const =0 |
Get the object ID. This ID will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More... | |
virtual std::string | Name () const =0 |
Get the object name. This name will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More... | |
virtual ScenePtr | Scene () const =0 |
Get the Scene that created this object. More... | |
Protected Member Functions | |
BaseVisual () | |
virtual bool | AttachChild (NodePtr _child)=0 |
virtual bool | AttachGeometry (GeometryPtr _geometry)=0 |
virtual NodeStorePtr | Children () const =0 |
virtual bool | DetachChild (NodePtr _child)=0 |
virtual bool | DetachGeometry (GeometryPtr _geometry)=0 |
virtual GeometryStorePtr | Geometries () const =0 |
virtual void | PreRenderChildren () |
virtual void | PreRenderGeometries () |
virtual void | SetLocalScaleImpl (const math::Vector3d &_scale)=0 |
Protected Attributes | |
MaterialPtr | material |
Pointer to material assigned to this visual. More... | |
Constructor & Destructor Documentation
◆ BaseVisual()
|
protected |
◆ ~BaseVisual()
|
virtual |
Member Function Documentation
◆ AddChild()
|
virtual |
Add the given node to this visual. If the given node is already a child, no work will be done.
- Parameters
-
[in] _child Child node to be added
Implements Visual.
◆ AddGeometry()
|
virtual |
◆ AttachChild()
|
protectedpure virtual |
Implemented in OgreVisual.
Referenced by BaseVisual< OgreNode >::AddChild().
◆ AttachGeometry()
|
protectedpure virtual |
Implemented in OgreVisual.
Referenced by BaseVisual< OgreNode >::AddGeometry().
◆ ChildById()
|
virtual |
Get node with given ID. If no child exists with given ID, NULL will be returned.
- Parameters
-
[in] _id ID of the desired node
- Returns
- The specified node
Implements Visual.
◆ ChildByIndex()
|
virtual |
Get node at given index. If no child exists at given index, NULL will be returned.
- Parameters
-
[in] _index Index of the desired node
- Returns
- The specified node
Implements Visual.
Referenced by BaseVisual< OgreNode >::PreRenderChildren(), and BaseVisual< OgreNode >::SetChildMaterial().
◆ ChildByName()
|
virtual |
Get node with given name. If no child exists with given name, NULL will be returned.
- Parameters
-
[in] _name Name of the desired node
- Returns
- The specified node
Implements Visual.
◆ ChildCount()
|
virtual |
Get number of child nodes.
- Returns
- The number of child nodes
Implements Visual.
Referenced by BaseVisual< OgreNode >::PreRenderChildren(), and BaseVisual< OgreNode >::SetChildMaterial().
◆ Children()
|
protectedpure virtual |
Implemented in OgreVisual.
Referenced by BaseVisual< OgreNode >::AddChild(), BaseVisual< OgreNode >::ChildById(), BaseVisual< OgreNode >::ChildByIndex(), BaseVisual< OgreNode >::ChildByName(), BaseVisual< OgreNode >::ChildCount(), BaseVisual< OgreNode >::Destroy(), BaseVisual< OgreNode >::HasChild(), BaseVisual< OgreNode >::HasChildId(), BaseVisual< OgreNode >::HasChildName(), BaseVisual< OgreNode >::RemoveChild(), BaseVisual< OgreNode >::RemoveChildById(), BaseVisual< OgreNode >::RemoveChildByIndex(), BaseVisual< OgreNode >::RemoveChildByName(), and BaseVisual< OgreNode >::RemoveChildren().
◆ Destroy()
|
virtual |
Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.
Implements Object.
◆ DetachChild()
|
protectedpure virtual |
◆ DetachGeometry()
|
protectedpure virtual |
Implemented in OgreVisual.
◆ Geometries()
|
protectedpure virtual |
Implemented in OgreVisual.
Referenced by BaseVisual< OgreNode >::AddGeometry(), BaseVisual< OgreNode >::Destroy(), BaseVisual< OgreNode >::GeometryByIndex(), BaseVisual< OgreNode >::GeometryCount(), BaseVisual< OgreNode >::HasGeometry(), BaseVisual< OgreNode >::RemoveGeometries(), BaseVisual< OgreNode >::RemoveGeometry(), and BaseVisual< OgreNode >::RemoveGeometryByIndex().
◆ GeometryByIndex()
|
virtual |
Get geometry at given index. If no geometry exists at given index, NULL will be returned.
- Parameters
-
[in] _index Index of the desired geometry
- Returns
- The specified geometry
Implements Visual.
Referenced by BaseVisual< OgreNode >::PreRenderGeometries(), and BaseVisual< OgreNode >::SetGeometryMaterial().
◆ GeometryCount()
|
virtual |
Get the number of geometries attached to this visual.
- Returns
- The number of geometries attached to this visual
Implements Visual.
Referenced by BaseVisual< OgreNode >::PreRenderGeometries(), and BaseVisual< OgreNode >::SetGeometryMaterial().
◆ HasChild()
|
virtual |
Determine if given node is an attached child.
- Returns
- True if given node is an attached child
Implements Visual.
◆ HasChildId()
|
virtual |
Determine if node with given ID is an attached child.
- Parameters
-
[in] _id ID of the node in question
- Returns
- True if node with given ID is an attached child
Implements Visual.
◆ HasChildName()
|
virtual |
Determine if node with given name is an attached child.
- Parameters
-
[in] _name Name of the node in question
- Returns
- True if node with given name is an attached child
Implements Visual.
◆ HasGeometry()
|
virtual |
◆ InheritScale()
|
pure virtual |
Determine if this visual inherits scale from this parent.
- Returns
- True if this visual inherits scale from this parent
Implements Visual.
Implemented in OgreVisual.
Referenced by BaseVisual< OgreNode >::WorldScale().
◆ LocalPose()
|
virtual |
Get the local pose.
- Returns
- The local pose
Implements Node.
Referenced by BaseVisual< OgreNode >::SetLocalScale().
◆ LocalScale()
|
pure virtual |
Get the local scale.
- Returns
- The local scale
Implements Visual.
Implemented in OgreVisual.
Referenced by BaseVisual< OgreNode >::LocalPose(), BaseVisual< OgreNode >::Scale(), BaseVisual< OgreNode >::SetLocalPose(), and BaseVisual< OgreNode >::WorldScale().
◆ Material()
|
virtual |
Get the material assigned to attached visuals and geometries.
- Returns
- the Pointer to the material assigned to this visual. If the material is cloned at the time it is set to this visual, the cloned material will be returned.
Implements Visual.
◆ PreRender()
|
virtual |
Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.
Implements Object.
◆ PreRenderChildren()
|
protectedvirtual |
Referenced by BaseVisual< OgreNode >::PreRender().
◆ PreRenderGeometries()
|
protectedvirtual |
Referenced by BaseVisual< OgreNode >::PreRender().
◆ RemoveChild()
Remove the given node from this visual. If the given node is not a child of this visual, no work will be done.
- Parameters
-
[in] _child Child node to be removed
- Returns
- The removed child node
Implements Visual.
◆ RemoveChildById()
|
virtual |
Remove the node with the given ID from this visual. If the specified node is not a child of this visual, no work will be done.
- Parameters
-
[in] _id ID of the child node to be removed
- Returns
- The removed child node
Implements Visual.
◆ RemoveChildByIndex()
|
virtual |
Remove the node at the given index from this visual. If the specified node is not a child of this visual, no work will be done.
- Parameters
-
[in] _index Index of the child node to be removed
- Returns
- The removed child node
Implements Visual.
Referenced by BaseVisual< OgreNode >::RemoveChildren().
◆ RemoveChildByName()
|
virtual |
Remove the node with the given name from this visual. If the specified node is not a child of this visual, no work will be done.
- Parameters
-
[in] _name Name of the child node to be removed
- Returns
- The removed child node
Implements Visual.
◆ RemoveChildren()
|
virtual |
Remove all child nodes from this visual.
Implements Visual.
◆ RemoveGeometries()
|
virtual |
Remove all attached geometries from this visual.
Implements Visual.
◆ RemoveGeometry()
|
virtual |
◆ RemoveGeometryByIndex()
|
virtual |
Remove the geometry at the given index from this visual. If the specified node is not attached this visual, no work will be done.
- Parameters
-
[in] _index Index of the geometry to be removed
- Returns
- The removed geometry
Implements Visual.
◆ Scale() [1/3]
|
virtual |
Scale the current scale by the given scalar. The given scalar will be assigned to the x, y, and z coordinates.
- Parameters
-
[in] _scale Scalar to alter the current scale
Implements Visual.
Referenced by BaseVisual< OgreNode >::Scale().
◆ Scale() [2/3]
|
virtual |
Scale the current scale by the given scalars.
- Parameters
-
[in] _x Scalar to alter the current x-coordinate scale [in] _y Scalar to alter the current y-coordinate scale [in] _z Scalar to alter the current z-coordinate scale
Implements Visual.
◆ Scale() [3/3]
|
virtual |
Scale the current scale by the given scalars.
- Parameters
-
[in] _scale Scalars to alter the current scale
Implements Visual.
◆ SetChildMaterial()
|
virtual |
Set the material for all attached visuals only.
- Parameters
-
[in] _name Name of the material to be assigned [in] _unique True if the specified material should be cloned
Implements Visual.
Referenced by BaseVisual< OgreNode >::SetMaterial().
◆ SetGeometryMaterial()
|
virtual |
Set the material for all attached geometries only.
- Parameters
-
[in] _name Name of the material to be assigned [in] _unique True if the specified material should be cloned
Implements Visual.
Referenced by BaseVisual< OgreNode >::SetMaterial().
◆ SetLocalPose()
|
virtual |
Set the local pose.
- Parameters
-
[in] _pose New local pose
Implements Node.
Referenced by BaseVisual< OgreNode >::SetLocalScale().
◆ SetLocalScale() [1/3]
|
virtual |
Set the local scale. The given scale will be assigned to the x, y, and z coordinates.
- Parameters
-
[in] _scale New local scale
Implements Visual.
Referenced by BaseVisual< OgreNode >::Scale(), BaseVisual< OgreNode >::SetLocalScale(), and BaseVisual< OgreNode >::SetWorldScale().
◆ SetLocalScale() [2/3]
|
virtual |
Set the local scale.
- Parameters
-
[in] _x New x-coordinate scale [in] _y New y-coordinate scale [in] _z New z-coordinate scale
Implements Visual.
◆ SetLocalScale() [3/3]
|
virtual |
◆ SetLocalScaleImpl()
|
protectedpure virtual |
Implemented in OgreVisual.
Referenced by BaseVisual< OgreNode >::SetLocalScale().
◆ SetMaterial() [1/2]
|
virtual |
Set the material for all attached visuals and geometries. The specified material will be retrieved from Scene::Material using the given material name. If no material is registered with the given name, no work will be done.
- Parameters
-
[in] _name Name of the material to be assigned [in] _unique True if the specified material should be cloned
Implements Visual.
Referenced by BaseVisual< OgreNode >::SetMaterial().
◆ SetMaterial() [2/2]
|
virtual |
Set the material for all attached visuals and geometries.
- Parameters
-
[in] _name Name of the material to be assigned [in] _unique True if the specified material should be cloned
Implements Visual.
◆ SetWorldScale() [1/3]
|
virtual |
Set the world scale. The given scale will be assigned to the x, y, and z coordinates.
- Parameters
-
[in] _scale New world scale
Implements Visual.
Referenced by BaseVisual< OgreNode >::SetWorldScale().
◆ SetWorldScale() [2/3]
|
virtual |
Set the world scale.
- Parameters
-
[in] _x New x-coordinate scale [in] _y New y-coordinate scale [in] _z New z-coordinate scale
Implements Visual.
◆ SetWorldScale() [3/3]
|
virtual |
◆ WorldScale()
|
virtual |
Get the world scale.
- Returns
- The world scale
Implements Visual.
Referenced by BaseVisual< OgreNode >::SetWorldScale().
Member Data Documentation
◆ material
|
protected |
Pointer to material assigned to this visual.
Referenced by BaseVisual< OgreNode >::Material(), and BaseVisual< OgreNode >::SetMaterial().
The documentation for this class was generated from the following file: