RobWorkProject
23.9.11-
|
Abstract base class for all drawable classes. More...
#include <DrawableNodeClone.hpp>
Inherits DrawableNode.
Public Types | |
typedef rw::core::Ptr< DrawableNodeClone > | Ptr |
smart pointer type to this class | |
Public Types inherited from DrawableNode | |
enum | DrawableTypeMask { Physical = 1 , Virtual = 2 , DrawableObject = 4 , CollisionObject = 8 , User1 = 1024 , User2 = 2048 , User3 = 4096 , User4 = 8096 , ALL = 0x7FFFFFFF } |
draw mask is used to filter which drawables to exclude from rendering. More... | |
enum | DrawType { SOLID , WIRE , OUTLINE } |
when calling render on the draw mode or type can be specified. More... | |
typedef rw::core::Ptr< DrawableNode > | Ptr |
smart pointer type to this class | |
Public Types inherited from SceneNode | |
enum | AddPolicy { Front , Back } |
Policy for adding parent nodes. More... | |
enum | NodeType { GroupType = 0 , CameraType , DrawableType , UserBeginType = 1024 } |
Node types. More... | |
typedef rw::core::Ptr< SceneNode > | Ptr |
Smart pointer type for SceneNode. | |
typedef std::list< SceneNode::Ptr > | NodeList |
Type for the list of nodes. | |
typedef const std::list< SceneNode::Ptr > | NodeListConst |
Type for a const list of nodes. | |
Public Member Functions | |
DrawableNodeClone (const std::string &name, DrawableNode::Ptr drawable) | |
constructor More... | |
virtual | ~DrawableNodeClone () |
destructor | |
void | draw (const DrawableNode::RenderInfo &info=DrawableNode::RenderInfo()) const |
draws the object. | |
virtual void | setHighlighted (bool b) |
enables or disables highlighting of the drawable class More... | |
virtual bool | isHighlighted () const |
Returns whether the DrawableNode is highlighted. More... | |
virtual void | setDrawType (DrawType drawType) |
Sets the DrawType. More... | |
virtual void | setTransparency (float alpha) |
Sets up the color alpha value. More... | |
virtual float | getTransparency () |
Gets the color alpha value. More... | |
virtual void | setScale (float scale) |
Specifies the scale of the object. More... | |
virtual float | getScale () const |
gets the scale of the object More... | |
virtual void | setVisible (bool enable) |
enable or disable this drawable. When disabled the drawable will not render anything. | |
virtual bool | isVisible () |
checks if this drawable is enabled | |
virtual const rw::math::Transform3D & | getTransform () const |
gets the transformation of the drawable object More... | |
virtual void | setTransform (const rw::math::Transform3D<> &t3d) |
Sets the transformation of the drawable object. More... | |
virtual void | setMask (unsigned int mask) |
the group(s) that this drawable belong to More... | |
virtual unsigned int | getMask () const |
Get the DrawableTypeMask for the node. More... | |
Public Member Functions inherited from DrawableNode | |
virtual | ~DrawableNode () |
Destructor. | |
bool | isTransparent () |
Check if node is transparent. More... | |
DrawableNode * | asDrawableNode () |
Get a pointer to a DrawableNode, if this is a DrawableNode. More... | |
Public Member Functions inherited from SceneNode | |
virtual | ~SceneNode () |
Destructor. | |
void | addParent (SceneNode::Ptr node, AddPolicy policy=Back) |
Add a parent node. More... | |
bool | hasParent (SceneNode::Ptr parent) |
Check if the given node is a parent node. More... | |
void | removeParent (SceneNode::Ptr node) |
erases the parent from the parent list. More... | |
virtual GroupNode * | asGroupNode () |
Get a pointer to a GroupNode, if this is a GroupNode. More... | |
virtual SceneCamera * | asCameraNode () |
Get a pointer to a CameraNode, if this is a CameraNode. More... | |
int | getType () |
Get the NodeType. More... | |
const std::string & | getName () |
Get the name of the node. More... | |
void | setName (const std::string &name) |
Set the name of this node. More... | |
Protected Member Functions | |
void | saveState () const |
saves state of drawable | |
void | setState () const |
sets state of drawable | |
void | restoreState () const |
restore the drawable state | |
Protected Member Functions inherited from DrawableNode | |
DrawableNode (const std::string &name) | |
constructor | |
Protected Member Functions inherited from SceneNode | |
SceneNode (const std::string &name, int type) | |
Construct new scene node. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from SceneNode | |
static void | removeParent (SceneNode::Ptr node, SceneNode::Ptr parent) |
Remove a parent node. More... | |
Public Attributes inherited from SceneNode | |
std::string | _name |
The name of the node. | |
std::list< SceneNode::Ptr > | _parentNodes |
The list of parent nodes. | |
int | _type |
The NodeType. | |
Abstract base class for all drawable classes.
Classes that are able to draw them self, may inherit from this class.
The drawable class use a draw mask to distinguish between different groups to draw. E.g. when taking snapshots with a simulated camera virtual objects such as the red laser vector or the lines showing the camera view angle is should not be renered. Hence objects that are virtual should be set to virtual.
A call to draw enabling Physical and User1 defined objects look like:
|
inline |
constructor
name | [in] the name of the node. |
drawable | [in] the drawable to clone - it will not make an actual clone of data, only of the visualization. |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
gets the transformation of the drawable object
Implements DrawableNode.
|
inlinevirtual |
Gets the color alpha value.
Implements DrawableNode.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
enables or disables highlighting of the drawable class
b | [in] a if true highlight is enabled if false disabled |
Implements DrawableNode.
|
inlinevirtual |
the group(s) that this drawable belong to
mask | [in] drawable mask |
Implements DrawableNode.
|
inlinevirtual |
|
inlinevirtual |
Sets the transformation of the drawable object.
t3d | [in] transform of drawable object |
Implements DrawableNode.
|
inlinevirtual |
Sets up the color alpha value.
alpha | [in] \( 0.0 \) corresponds to fully transparent and \(1.0\) to completely solid. |
Implements DrawableNode.