Developer Documentation
SplatCloudObject Class Reference
Inheritance diagram for SplatCloudObject:
BaseObjectData BaseObject

Public Member Functions

 SplatCloudObject ()
 Constructor. More...
 
 SplatCloudObject (const SplatCloudObject &_object)
 Copy constructor. More...
 
virtual ~SplatCloudObject ()
 Destructor. More...
 
virtual void cleanup ()
 Reset current Object, including all related Nodes. More...
 
BaseObjectcopy ()
 
void reloadShaders ()
 Reload standard and picking Shaders from file. More...
 
void enableBackfaceCulling (bool _enable)
 Enable or disable backface culling for all Shaders. More...
 
void enableGeometryShaderQuads (bool _enable)
 Enable or disable quad extrusion in geometry shader (shader pipeline) More...
 
void setPointsizeScale (float _scale)
 Set the scaling factor for pointsizes for all Shaders. More...
 
bool isBackfaceCullingEnabled () const
 
float pointsizeScale () const
 
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. More...
 
bool pickingEnabled ()
 Check if picking is enabled for this Object. More...
 
- Public Member Functions inherited from BaseObjectData
 BaseObjectData (const BaseObjectData &_object)
 copy constructor More...
 
 BaseObjectData ()
 constructor More...
 
virtual ~BaseObjectData ()
 destructor More...
 
virtual void setName (QString _name) override
 path to the file from which the object is loaded ( defaults to "." ) More...
 
virtual 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. More...
 
virtual void show ()
 Sets the whole Scenegraph subtree of this node to visible. More...
 
virtual void hide ()
 Sets the whole Scenegraph subtree of this node to invisible. More...
 
virtual bool visible () override
 return visiblity More...
 
virtual void visible (bool _visible) override
 Sets visiblity of the whole Scenegraph subtree of this node. More...
 
SeparatorNodebaseNode ()
 
virtual bool hasNode (BaseNode *_node)
 Check if the given node is owned by this object. More...
 
virtual BaseNodeprimaryNode ()
 
QtTranslationManipulatorNodemanipulatorNode ()
 
MaterialNodematerialNode ()
 get a pointer to the materialnode More...
 
const MaterialNodematerialNode () const
 get a const pointer to the materialnode More...
 
BoundingBoxNodeboundingBoxNode ()
 get a pointer to the bounding box node More...
 
StencilRefNodestencilRefNode ()
 get a pointer to the stencil reference node More...
 
bool manipPlaced ()
 Check if the manipulator has been placed. More...
 
void manipPlaced (bool _placed)
 set the manipulator place status More...
 
void getBoundingBox (ACG::Vec3d &bbmin, ACG::Vec3d &bbmax) const
 get the bounding box of the object More...
 
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 (const QString &_pluginName, const 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. More...
 
void dumpTree ()
 Debugging function, writing the subtree to output. More...
 
int row () const
 get the row of this item from the parent More...
 
BaseObjectparent ()
 Get the parent item ( 0 if rootitem ) More...
 
const BaseObjectparent () const
 get the row of this item from the parent More...
 
void setParent (BaseObject *_parent)
 Set the parent pointer. More...
 
BaseObjectchildExists (int _objectId)
 Check if the element exists in the subtree of this element. More...
 
BaseObjectchildExists (QString _name)
 Check if the element exists in the subtree of this element. More...
 
void appendChild (BaseObject *child)
 add a child to this node More...
 
BaseObjectchild (int row)
 return a child More...
 
int childCount () const
 get the number of children More...
 
void removeChild (BaseObject *_item)
 Remove a child from this object. More...
 
QList< BaseObject * > getLeafs ()
 get all leafes of the tree below this object ( These will be all visible objects ) More...
 
void deleteSubtree ()
 delete the whole subtree below this item ( The item itself is not touched ) More...
 
int group () const
 
bool isGroup () const
 Check if object is a group. More...
 
bool isInGroup (int _id) const
 
bool isInGroup (const 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!! ) More...
 
bool hasObjectData (QString _dataName)
 Checks if object data with given name is available. More...
 
PerObjectDataobjectData (QString _dataName)
 Returns the object data pointer. More...
 
void deleteData ()
 Delete all data attached to this object ( calls delete on each object ) More...
 
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 ()
 
BaseObjectlast ()
 
BaseObjectnext ()
 
int level ()
 
void setFromFileName (const QString &_filename)
 
QString path () const
 return the path to the object ( defaults to "." if unset ) More...
 
void setPath (const QString &_path)
 set the path to the object. More...
 
QString name () const
 return the name of the object. The name defaults to NONAME if unset. More...
 
QString filename () const
 return the filename of the object More...
 
void setFileName (const QString &_filename)
 set the filename for this object More...
 
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 (const SplatCloud *_splatCloud=0)
 Initialise current Object, including all related Nodes. More...
 
Update handling

This is mostly private. Updates have to be triggered via emit updatedObject()

void update (UpdateType _type=UPDATE_ALL)
 Called by the core if the object has to be updated. More...
 
Update handling
Update handling

Private Attributes

bool backfaceCullingEnabled_
 
float pointsizeScale_
 

Friends

class TypeSplatCloudPlugin
 

Content

SplatCloudsplatCloud_
 Get SplatCloud. More...
 
SplatCloudsplatCloud ()
 Get SplatCloud. More...
 
const SplatCloudsplatCloud () const
 Get SplatCloud. More...
 

Visualization

ShaderNodeshaderNode_
 Get Shader's scenegraph Node. More...
 
SplatCloudNodesplatCloudNode_
 Get Shader's scenegraph Node. More...
 
ShaderNodeshaderNode ()
 Get Shader's scenegraph Node. More...
 
const ShaderNodeshaderNode () const
 Get Shader's scenegraph Node. More...
 
SplatCloudNodesplatCloudNode ()
 Get SplatCloud's scenegraph Node. More...
 
const SplatCloudNodesplatCloudNode () const
 Get Shader's scenegraph Node. More...
 

Additional Inherited Members

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

Detailed Description

Definition at line 76 of file SplatCloudObject.hh.

Constructor & Destructor Documentation

◆ SplatCloudObject() [1/2]

SplatCloudObject::SplatCloudObject ( )

Constructor.

Constructor for SplatCloud Objects. This object class gets a Separator Node giving the root node to which it should be connected. The SplatCloud 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::addSplatCloud instead. ( see Types.hh::DataType )

Definition at line 79 of file SplatCloudObject.cc.

◆ SplatCloudObject() [2/2]

SplatCloudObject::SplatCloudObject ( const SplatCloudObject _object)

Copy constructor.

Create a copy of this Object

Copy Constructor - generates a copy of the given object

Definition at line 105 of file SplatCloudObject.cc.

◆ ~SplatCloudObject()

SplatCloudObject::~SplatCloudObject ( )
virtual

Destructor.

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

Definition at line 118 of file SplatCloudObject.cc.

Member Function Documentation

◆ cleanup()

void SplatCloudObject::cleanup ( void  )
virtual

Reset current Object, including all related Nodes.

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

Reimplemented from BaseObjectData.

Definition at line 143 of file SplatCloudObject.cc.

◆ copy()

BaseObject * SplatCloudObject::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 160 of file SplatCloudObject.cc.

◆ enableBackfaceCulling()

void SplatCloudObject::enableBackfaceCulling ( bool  _enable)

Enable or disable backface culling for all Shaders.

Enable or disable backface culling

Definition at line 264 of file SplatCloudObject.cc.

◆ enableGeometryShaderQuads()

void SplatCloudObject::enableGeometryShaderQuads ( bool  _enable)

Enable or disable quad extrusion in geometry shader (shader pipeline)

Enable or disable quad extrusion in geometry shader. This only affects the shader pipeline renderers.

Definition at line 345 of file SplatCloudObject.cc.

◆ enablePicking()

void SplatCloudObject::enablePicking ( bool  _enable)
virtual

Enable or disable picking for this Object.

Reimplemented from BaseObjectData.

Definition at line 650 of file SplatCloudObject.cc.

◆ getObjectinfo()

QString SplatCloudObject::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 568 of file SplatCloudObject.cc.

◆ init()

void SplatCloudObject::init ( const SplatCloud _splatCloud = 0)
protectedvirtual

Initialise current Object, including all related Nodes.

This function initalizes the SplatCloud object. It creates the scenegraph nodes.

Definition at line 419 of file SplatCloudObject.cc.

◆ isBackfaceCullingEnabled()

bool SplatCloudObject::isBackfaceCullingEnabled ( ) const
inline

Definition at line 120 of file SplatCloudObject.hh.

◆ picked()

bool SplatCloudObject::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 splatCloudNode of the object has been picked.

Parameters
_node_idxIndex of the picked splatcloud node
Returns
bool if the splatCloudNode of this object is the picking target.

Reimplemented from BaseObjectData.

Definition at line 641 of file SplatCloudObject.cc.

◆ pickingEnabled()

bool SplatCloudObject::pickingEnabled ( )
virtual

Check if picking is enabled for this Object.

Reimplemented from BaseObjectData.

Definition at line 660 of file SplatCloudObject.cc.

◆ pointsizeScale()

float SplatCloudObject::pointsizeScale ( ) const
inline

Definition at line 121 of file SplatCloudObject.hh.

◆ reloadShaders()

void SplatCloudObject::reloadShaders ( )

Reload standard and picking Shaders from file.

Shader uniforms has to be updated after this!

Reload shaders from file

Definition at line 173 of file SplatCloudObject.cc.

◆ setName()

void SplatCloudObject::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 544 of file SplatCloudObject.cc.

◆ setPointsizeScale()

void SplatCloudObject::setPointsizeScale ( float  _scale)

Set the scaling factor for pointsizes for all Shaders.

Set scale for point sizes

Definition at line 357 of file SplatCloudObject.cc.

◆ shaderNode() [1/2]

ShaderNode * SplatCloudObject::shaderNode ( )
inlinevirtual

Get Shader's scenegraph Node.

Reimplemented from BaseObjectData.

Definition at line 176 of file SplatCloudObject.hh.

◆ shaderNode() [2/2]

const ShaderNode * SplatCloudObject::shaderNode ( ) const
inline

Get Shader's scenegraph Node.

Definition at line 177 of file SplatCloudObject.hh.

◆ splatCloud() [1/2]

SplatCloud * SplatCloudObject::splatCloud ( )
inline

Get SplatCloud.

Definition at line 162 of file SplatCloudObject.hh.

◆ splatCloud() [2/2]

const SplatCloud * SplatCloudObject::splatCloud ( ) const
inline

Get SplatCloud.

Definition at line 163 of file SplatCloudObject.hh.

◆ splatCloudNode() [1/2]

SplatCloudNode * SplatCloudObject::splatCloudNode ( )
inline

Get SplatCloud's scenegraph Node.

Definition at line 180 of file SplatCloudObject.hh.

◆ splatCloudNode() [2/2]

const SplatCloudNode * SplatCloudObject::splatCloudNode ( ) const
inline

Get Shader's scenegraph Node.

Definition at line 181 of file SplatCloudObject.hh.

◆ update()

void SplatCloudObject::update ( UpdateType  _type = UPDATE_ALL)
protectedvirtual

Called by the core if the object has to be updated.

Update object and scenegraph nodes

Reimplemented from BaseObjectData.

Definition at line 459 of file SplatCloudObject.cc.

Friends And Related Function Documentation

◆ TypeSplatCloudPlugin

friend class TypeSplatCloudPlugin
friend

Definition at line 79 of file SplatCloudObject.hh.

Member Data Documentation

◆ backfaceCullingEnabled_

bool SplatCloudObject::backfaceCullingEnabled_
private

Definition at line 124 of file SplatCloudObject.hh.

◆ pointsizeScale_

float SplatCloudObject::pointsizeScale_
private

Definition at line 125 of file SplatCloudObject.hh.

◆ shaderNode_

ShaderNode* SplatCloudObject::shaderNode_
private

Get Shader's scenegraph Node.

Definition at line 184 of file SplatCloudObject.hh.

◆ splatCloud_

SplatCloud* SplatCloudObject::splatCloud_
private

Get SplatCloud.

Definition at line 166 of file SplatCloudObject.hh.

◆ splatCloudNode_

SplatCloudNode* SplatCloudObject::splatCloudNode_
private

Get Shader's scenegraph Node.

Definition at line 185 of file SplatCloudObject.hh.


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