![]() |
RobWorkProject
24.12.4-
|
Abstract base class for all drawable classes. More...
#include <Drawable.hpp>
Inherits DrawableNode.
Public Types | |
typedef rw::core::Ptr< Drawable > | Ptr |
smart pointer type to this class | |
![]() | |
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 | |
![]() | |
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 | |
Drawable (const std::string &name, unsigned int dmask=Physical) | |
draw mask is used to filter which drawables to exclude from rendering. More... | |
Drawable (rw::core::Ptr< rw::graphics::Render > render, const std::string &name="", unsigned int dmask=DrawableObject) | |
Constructer for Drawable. More... | |
virtual | ~Drawable () |
Virtual destructor. | |
virtual void | draw (const rw::graphics::DrawableNode::RenderInfo &info=RenderInfo()) const |
draws the object. | |
void | setHighlighted (bool b) |
enables or disables highlighting of the drawable class More... | |
bool | isHighlighted () const |
Returns whether the Drawable is highlighted. More... | |
void | setDrawType (rw::graphics::DrawableNode::DrawType drawType) |
Sets the DrawType. More... | |
void | setTransparency (float alpha) |
Sets up the color alpha value. More... | |
float | getTransparency () |
Gets the color alpha value. More... | |
void | setScale (float scale) |
Specifies the scale of the object. More... | |
float | getScale () const |
gets the scale of the object More... | |
void | setVisible (bool enable) |
enable or disable this drawable. When disabled the drawable will not render anything. | |
bool | isVisible () |
checks if this drawable is enabled | |
const rw::math::Transform3D & | getTransform () const |
gets the transformation of the drawable object More... | |
void | setTransform (const rw::math::Transform3D<> &t3d) |
Sets the transformation of the drawable object. More... | |
void | setMask (unsigned int mask) |
the group(s) that this drawable belong to More... | |
unsigned int | getMask () const |
Get the rendering groups that this drawable belongs to. More... | |
std::vector< rw::core::Ptr< rw::graphics::Render > > | getRenders () const |
Get this drawables Render object. | |
void | addRender (rw::core::Ptr< rw::graphics::Render > render) |
Add a render to this drawable. More... | |
![]() | |
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... | |
![]() | |
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 Attributes | |
std::vector< rw::core::Ptr< rw::graphics::Render > > | _renders |
constructor More... | |
rw::graphics::DrawableNode::DrawType | _drawType |
drawType specified how the Drawable should be visualized | |
float | _alpha |
alpha represents the color alpha value for which, \( 0.0 \) corresponds to fully transparent and \(1.0\) to completely solid. Default is \(1.0\). | |
bool | _highlighted |
highlighted specifies whether the drawable should be highlighted. Default is false | |
float | _scale |
The scale of the object. | |
bool | _enable |
True if drawable is enabled/visible, false otherwise. | |
rw::math::Transform3D | _t3d |
The transformation that is applied to the drawable object. | |
Additional Inherited Members | |
![]() | |
static void | removeParent (SceneNode::Ptr node, SceneNode::Ptr parent) |
Remove a parent node. More... | |
![]() | |
std::string | _name |
The name of the node. | |
std::list< SceneNode::Ptr > | _parentNodes |
The list of parent nodes. | |
int | _type |
The NodeType. | |
![]() | |
DrawableNode (const std::string &name) | |
constructor | |
![]() | |
SceneNode (const std::string &name, int type) | |
Construct new scene node. More... | |
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 | ( | const std::string & | name, |
unsigned int | dmask = Physical |
||
) |
draw mask is used to filter which drawables to exclude from rendering.
typedef enum{Physical=1, //! A physical object in the scene Virtual=2, //! A virtual object, e.g. lines showing camera view angle DrawableObject=4,//! An object that is "just" a drawable CollisionObject=8, //! An object that is also a CollisionObject User1=1024, //! User defined group 1... User2=2048,//!< User2 User3=4096,//!< User3 User4=8096, //!< User4 ALL=0xFFFFFFFF } DrawableTypeMask;
Constructer for Drawable
name | [in] Name of drawable |
dmask | [in] Type of the Drawable. Default value is Physical |
Drawable | ( | rw::core::Ptr< rw::graphics::Render > | render, |
const std::string & | name = "" , |
||
unsigned int | dmask = DrawableObject |
||
) |
|
inline |
Add a render to this drawable.
render | [in] the render. |
|
inlinevirtual |
Get the rendering groups that this drawable belongs to.
Implements DrawableNode.
|
virtual |
|
virtual |
gets the transformation of the drawable object
Implements DrawableNode.
|
virtual |
Gets the color alpha value.
Implements DrawableNode.
|
virtual |
|
virtual |
|
virtual |
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.
|
virtual |
|
virtual |
Sets the transformation of the drawable object.
t3d | [in] transform of drawable object |
Implements DrawableNode.
|
virtual |
Sets up the color alpha value.
alpha | [in] \( 0.0 \) corresponds to fully transparent and \(1.0\) to completely solid. |
Implements DrawableNode.
|
protected |
constructor
The renderer that is used to render and draw the drawable