Developer Documentation

Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
PolyLineObject Class Reference

`#include <Type-PolyLine/ObjectTypes/PolyLine/PolyLineObject.hh>`

Inheritance diagram for PolyLineObject:

## Public Types
typedef PolyLine | PolyLineType

## Public Member Functions
| PolyLineObject ()
| constructor More...
| PolyLineObject (const PolyLineObject &_object)
| copy constructor More...
virtual | ~PolyLineObject ()
| destructor More...
virtual void | cleanup ()
| Reset current object, including all related nodes. More...
BaseObject * | copy ()
Name and Path handling
void | setName (QString _name)
| Set the name of the Object. More...
Object Information
QString | getObjectinfo ()
| Get all Info for the Object as a string. More...
Picking
bool | picked (uint _node_idx)
| detect if the node has been picked More...
void | enablePicking (bool _enable)
| Enable or disable picking for this Object.
bool | pickingEnabled ()
| Check if picking is enabled for this Object.
ACG::Vec3d | refinePick (ACG::SceneGraph::PickTarget _pickTarget, const ACG::Vec3d _hitPoint, const ACG::Vec3d _start, const ACG::Vec3d _dir, const unsigned int _targetIdx)
| Refine picking on triangle meshes.
Public Member Functions inherited from BaseObjectData
| BaseObjectData (const BaseObjectData &_object)
| copy constructor More...
| BaseObjectData ()
| constructor
virtual | ~BaseObjectData ()
| destructor
virtual void | show ()
| Sets the whole Scenegraph subtree of this node to visible.
virtual void | hide ()
| Sets the whole Scenegraph subtree of this node to invisible.
virtual bool | visible () override
| return visiblity
virtual void | visible (bool _visible) override
| Sets visiblity of the whole Scenegraph subtree of this node.
SeparatorNode * | baseNode ()
virtual bool | hasNode (BaseNode *_node)
| Check if the given node is owned by this object. More...
virtual BaseNode * | primaryNode ()
QtTranslationManipulatorNode * | manipulatorNode ()
virtual ACG::SceneGraph::ShaderNode * | shaderNode ()
MaterialNode * | materialNode ()
| get a pointer to the materialnode
const MaterialNode * | materialNode () const
| get a const pointer to the materialnode
BoundingBoxNode * | boundingBoxNode ()
| get a pointer to the bounding box node
StencilRefNode * | stencilRefNode ()
| get a pointer to the stencil reference node
bool | manipPlaced ()
| Check if the manipulator has been placed.
void | manipPlaced (bool _placed)
| set the manipulator place status
void | getBoundingBox (ACG::Vec3d &bbmin, ACG::Vec3d &bbmax)
| get the bounding box of the object
void | setObjectDrawMode (const ACG::SceneGraph::DrawModes::DrawMode &_mode, const bool &_force=false)
| Set the draw mode for the object. More...
template<typename NodeT >
bool | addAdditionalNode (NodeT *_node, QString _pluginName, QString _nodeName, int _id=0)
| add an additional node to the object More...
bool | hasAdditionalNode (QString _pluginName, QString _nodeName, int _id=0)
| check if an object has the additional node More...
template<typename NodeT >
bool | getAdditionalNode (NodeT *&_node, QString _pluginName, QString _nodeName, int _id=0)
| get an addition node from the object More...
template<typename NodeT >
bool | removeAdditionalNode (NodeT *&_node, QString _pluginName, QString _nodeName, int _id=0)
| remove an additional node from the object More...
Public Member Functions inherited from BaseObject
| BaseObject (const BaseObject &_object)
| BaseObject (BaseObject *_parent=0)
virtual void | printObjectInfo ()
| Print all information about the object.
void | dumpTree ()
| Debugging function, writing the subtree to output.
int | row () const
| get the row of this item from the parent
BaseObject * | parent ()
| Get the parent item ( 0 if rootitem )
const BaseObject * | parent () const
| get the row of this item from the parent
void | setParent (BaseObject *_parent)
| Set the parent pointer.
BaseObject * | childExists (int _objectId)
| Check if the element exists in the subtree of this element.
BaseObject * | childExists (QString _name)
| Check if the element exists in the subtree of this element.
void | appendChild (BaseObject *child)
| add a child to this node
BaseObject * | child (int row)
| return a child
int | childCount () const
| get the number of children
void | removeChild (BaseObject *_item)
| Remove a child from this object.
QList< BaseObject *> | getLeafs ()
| get all leafes of the tree below this object ( These will be all visible objects )
void | deleteSubtree ()
| delete the whole subtree below this item ( The item itself is not touched )
int | group () const
bool | isGroup () const
| Check if object is a group.
bool | isInGroup (int _id) const
bool | isInGroup (QString _name) const
std::vector< int > | getGroupIds ()
QStringList | getGroupNames ()
void | setObjectData (QString _dataName, PerObjectData *_data)
void | clearObjectData (QString _dataName)
| Clear the object data pointer ( this will not delete the object!! )
bool | hasObjectData (QString _dataName)
| Checks if object data with given name is available.
PerObjectData * | objectData (QString _dataName)
| Returns the object data pointer.
void | deleteData ()
| Delete all data attached to this object ( calls delete on each object )
int | id () const
int | persistentId () const
void | persistentId (int _id)
bool | dataType (DataType _type) const
DataType | dataType () const
void | setDataType (DataType _type)
bool | target ()
void | target (bool _target)
bool | source ()
void | source (bool _source)
bool | flag (QString _flag)
void | setFlag (QString _flag, bool _set)
QStringList | flags ()
BaseObject * | last ()
BaseObject * | next ()
int | level ()
void | setFromFileName (const QString &_filename)
QString | path () const
| return the path to the object ( defaults to "." if unset )
void | setPath (const QString &_path)
| set the path to the object.
QString | name () const
| return the name of the object. The name defaults to NONAME if unset.
QString | filename () const
| return the filename of the object
void | setFileName (const QString &_filename)
| set the filename for this object
QMap< QString, PerObjectData * > & | getPerObjectDataMap ()
| get reference to map of all perObject Datas More...
QString & | getCommentByKey (const QString &key)
| Get comment for the specified key. More...
const QString | getCommentByKey (const QString &key) const
| Get comment for the specified key. More...
bool | hasCommentForKey (const QString &key) const
bool | hasComments () const
void | clearComment (const QString &key)
| Get comment for the specified key. More...
void | clearAllComments ()
| Get comment for the specified key. More...
const QMap< QString, QString > & | getAllComments () const
const QString | getAllCommentsFlat () const

## Protected Member Functions
virtual void | init (PolyLine *_line=0)
| Initialise current object, including all related nodes. More...
Update handling
This is mostly private. Updates have to be triggered via emit updatedObject()
virtual void | update (UpdateType _type=UPDATE_ALL)
| This function is called to update the object. More...
Update handling
Update handling

## Friends
class | TypePolyLinePlugin

## Content
PolyLine * | line_
| Pointer to the polyline.
PolyLine * | line ()
| return a pointer to the line More...

## Visualization
ACG::SceneGraph::PolyLineNodeT< PolyLine > * | lineNode_
| Scenegraph Mesh Node.
ACG::SceneGraph::PolyLineNodeT< PolyLine > * | lineNode ()
| Get the scenegraph Node.

## Additional Inherited Members
Signals inherited from BaseObject
void | objectSelectionChanged (int _objectId)
void | visibilityChanged (int _objectId)
void | objectPropertiesChanged (int _objectId)
Static Public Attributes inherited from BaseObject
static int | NOOBJECT = -1
Protected Attributes inherited from BaseObject
bool | visible_

## Detailed Description

This class provides the functionality for all kind of meshes for the framework

Definition at line 76 of file PolyLineObject.hh.

## Constructor & Destructor Documentation

## ◆ PolyLineObject() [1/2]

PolyLineObject::PolyLineObject | ( |  | ) |

constructor

Constructor for PolyLine Objects. This object class gets a Separator Node giving the root node to which it should be connected. The line is generated internally and all nodes for visualization will be added below the scenegraph node.
You dont need to create an object of this type manually. Use PluginFunctions::addPolyLine instead. ( see Types.hh::DataType )

Definition at line 69 of file PolyLineObject.cc.

## ◆ PolyLineObject() [2/2]

PolyLineObject::PolyLineObject | ( | const PolyLineObject & | _object | ) |

copy constructor

Create a copy of this object

Copy Constructor - generates a copy of the given object

Definition at line 84 of file PolyLineObject.cc.

## ◆ ~PolyLineObject()

PolyLineObject::~PolyLineObject | ( |  | ) |
| virtual

destructor

Destructor for PolyLine Objects. The destructor deletes the Line and all Scenegraph nodes associated with the Line or the object.

Definition at line 96 of file PolyLineObject.cc.

## Member Function Documentation

## ◆ cleanup()

void PolyLineObject::cleanup | ( | void |  | ) |
| virtual

Reset current object, including all related nodes.

Cleanup Function for Line Objects. Deletes the contents of the whole object and calls PolyLineObject::init afterwards.

Reimplemented from BaseObjectData.

Definition at line 120 of file PolyLineObject.cc.

## ◆ copy()

BaseObject * PolyLineObject::copy | ( |  | ) |
| virtual

return a full copy of this object ( All scenegraph nodes will be created ) but the object will not be a part of the object tree.

Generate a copy

Reimplemented from BaseObject.

Definition at line 142 of file PolyLineObject.cc.

## ◆ getObjectinfo()

QString PolyLineObject::getObjectinfo | ( |  | ) |
| virtual

Get all Info for the Object as a string.

Returns a string containing all information about the current object. This also includes the information provided by BaseObjectData::getObjectinfo

Returns
  String containing the object information

Reimplemented from BaseObject.

Definition at line 225 of file PolyLineObject.cc.

## ◆ init()

void PolyLineObject::init | ( | PolyLine * | _line = `0` | ) |
| protected virtual

Initialise current object, including all related nodes.

This function initalizes the line object. It creates the scenegraph nodes, the line.

Definition at line 150 of file PolyLineObject.cc.

## ◆ line()

PolyLine * PolyLineObject::line | ( |  | ) |

return a pointer to the line

Get a pointer to the objects line.

Returns
  Pointer to the line

Definition at line 199 of file PolyLineObject.cc.

## ◆ picked()

bool PolyLineObject::picked | ( | uint | _node_idx | ) |
| virtual

detect if the node has been picked

Given an node index from PluginFunctions::scenegraphPick this function can be used to check if the polyLineNode of the object has been picked.

Parameters

  _node_idx | Index of the picked line node

Returns
  bool if the lineNode of this object is the picking target.

Reimplemented from BaseObjectData.

Definition at line 255 of file PolyLineObject.cc.

## ◆ setName()

void PolyLineObject::setName | ( | QString | _name | ) |
| virtual

Set the name of the Object.

Set the name of an object. All Scenegraph nodes are renamed too. It also calls BaseObjectData::setName.

Reimplemented from BaseObjectData.

Definition at line 185 of file PolyLineObject.cc.

## ◆ update()

void PolyLineObject::update | ( | UpdateType | _type = `UPDATE_ALL` | ) |
| protected virtual

This function is called to update the object.

If the object changes, the core will call this function. Normally this will update the corresponding scenegraph nodes or trigger other data handling which has to be done when the object changes.

Note
  Do not call this function yourself to avoid unnecessary overhead(the core will call it when it is required)

Reimplemented from BaseObjectData.

Definition at line 204 of file PolyLineObject.cc.

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

- Type-PolyLine/ObjectTypes/PolyLine/PolyLineObject.hh
- Type-PolyLine/ObjectTypes/PolyLine/PolyLineObject.cc