RobWorkProject  23.9.11-
Public Types | Public Member Functions | Protected Member Functions | List of all members
DrawableNodeClone Class Reference

Abstract base class for all drawable classes. More...

#include <DrawableNodeClone.hpp>

Inherits DrawableNode.

Public Types

typedef rw::core::Ptr< DrawableNodeClonePtr
 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< DrawableNodePtr
 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< SceneNodePtr
 Smart pointer type for SceneNode.
 
typedef std::list< SceneNode::PtrNodeList
 Type for the list of nodes.
 
typedef const std::list< SceneNode::PtrNodeListConst
 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::Transform3DgetTransform () 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...
 
DrawableNodeasDrawableNode ()
 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 GroupNodeasGroupNode ()
 Get a pointer to a GroupNode, if this is a GroupNode. More...
 
virtual SceneCameraasCameraNode ()
 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.
 

Detailed Description

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:

drawable->draw(DrawableNode::Physical | DrawableNode::User1);
@ User1
An object that is also a CollisionObject.
Definition: DrawableNode.hpp:74

Constructor & Destructor Documentation

◆ DrawableNodeClone()

DrawableNodeClone ( const std::string &  name,
DrawableNode::Ptr  drawable 
)
inline

constructor

Parameters
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.

Member Function Documentation

◆ getMask()

virtual unsigned int getMask ( ) const
inlinevirtual

Get the DrawableTypeMask for the node.

Returns
the type mask.

Implements DrawableNode.

◆ getScale()

virtual float getScale ( ) const
inlinevirtual

gets the scale of the object

Returns
scale [in] the scale

Implements DrawableNode.

◆ getTransform()

virtual const rw::math::Transform3D& getTransform ( ) const
inlinevirtual

gets the transformation of the drawable object

Returns
transform of the drawable object

Implements DrawableNode.

◆ getTransparency()

virtual float getTransparency ( )
inlinevirtual

Gets the color alpha value.

Returns
alpha value in the interval \( [0.0;1.0] \)

Implements DrawableNode.

◆ isHighlighted()

virtual bool isHighlighted ( ) const
inlinevirtual

Returns whether the DrawableNode is highlighted.

Returns
true/false

Implements DrawableNode.

◆ setDrawType()

virtual void setDrawType ( DrawType  drawType)
inlinevirtual

Sets the DrawType.

Parameters
drawType[in] the DrawType to be used

Implements DrawableNode.

◆ setHighlighted()

virtual void setHighlighted ( bool  b)
inlinevirtual

enables or disables highlighting of the drawable class

Parameters
b[in] a if true highlight is enabled if false disabled

Implements DrawableNode.

◆ setMask()

virtual void setMask ( unsigned int  mask)
inlinevirtual

the group(s) that this drawable belong to

Parameters
mask[in] drawable mask

Implements DrawableNode.

◆ setScale()

virtual void setScale ( float  scale)
inlinevirtual

Specifies the scale of the object.

Parameters
scale[in] the scale

Implements DrawableNode.

◆ setTransform()

virtual void setTransform ( const rw::math::Transform3D<> &  t3d)
inlinevirtual

Sets the transformation of the drawable object.

Parameters
t3d[in] transform of drawable object

Implements DrawableNode.

◆ setTransparency()

virtual void setTransparency ( float  alpha)
inlinevirtual

Sets up the color alpha value.

Parameters
alpha[in] \( 0.0 \) corresponds to fully transparent and \(1.0\) to completely solid.

Implements DrawableNode.


The documentation for this class was generated from the following file: