Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TriMeshObject Class Reference

Type for a MeshObject containing a triangle mesh. More...

#include <ObjectTypes/TriangleMesh/TriangleMesh.hh>

Inheritance diagram for TriMeshObject:
MeshObject< TriMesh > BaseObjectData BaseObject

Public Member Functions

 TriMeshObject (const TriMeshObject &_object)
 copy constructor More...
 
 TriMeshObject (DataType _typeId)
 Constructor. More...
 
virtual ~TriMeshObject ()
 destructor
 
BaseObjectcopy ()
 
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 MeshObject< TriMesh >
 MeshObject (const MeshObject &_object)
 copy constructor More...
 
 MeshObject (DataType _typeId)
 Constructor. More...
 
virtual ~MeshObject ()
 destructor More...
 
virtual void cleanup ()
 Reset current object, including all related nodes. More...
 
void setName (QString _name)
 Set the name of the Object. More...
 
bool loadMesh (QString _filename)
 Load a mesh from the given file. More...
 
QString getObjectinfo ()
 Get all Info for the Object as a string. More...
 
bool picked (uint _node_idx)
 detect if the node has been picked More...
 
void enablePicking (bool _enable)
 Enable or disable picking for this Node.
 
bool pickingEnabled ()
 Check if picking is enabled for this Node.
 
OMTriangleBSPrequestTriangleBsp ()
 
void invalidateTriangleBsp ()
 
OMTriangleBSPresetTriangleBsp ()
 
bool hasBsp () const
 check if a BSP has been computed and is valid More...
 
TriMeshmesh ()
 return a pointer to the mesh More...
 
ACG::SceneGraph::EnvMapNodetextureNode ()
 Get the TextureNode of the current mesh. More...
 
ACG::SceneGraph::ShaderNodeshaderNode ()
 Return pointer to the shader node. More...
 
void hideSelection (bool _hide)
 Hide or show the selection Node of the object. More...
 
bool selectionVisible ()
 return if the selections are currently visible
 
void hideFeatures (bool _hide)
 Hide or show the feature Node of the object.
 
bool featuresVisible ()
 return if the feature Node of the object is currently visible
 
void hideArea (StatusBits _bit, bool _hide)
 Hide or show the area Nodes of the object. More...
 
bool areaVisible (StatusBits _bit)
 Return if the selected areas are currently visible. More...
 
ACG::SceneGraph::MeshNodeT
< TriMesh > * 
meshNode ()
 Get the Scenegraph Mesh Node. More...
 
void boundingBox (ACG::Vec3d &_bbMin, typename ACG::Vec3d &_bbMax)
 Get the BoundingBox of this object. More...
 
BaseNodeprimaryNode ()
 Status Node for a mesh, visualizing the selection state of a mesh.
 
void setSelectionColor (const ACG::Vec4f &_color)
 set color for selection
 
ACG::Vec4f selectionColor () const
 get color for selection. returns -1 vector, if handle node does not exists
 
void setAreaColor (const ACG::Vec4f &_color)
 set color for areas
 
ACG::Vec4f areaColor () const
 get color for areas. returns -1 vector, if handle node does not exists
 
void setFeatureColor (const ACG::Vec4f &_color)
 set color for features
 
ACG::Vec4f featureColor () const
 get color for features. returns -1 vector, if handle node does not exists
 
void setHandleColor (const ACG::Vec4f &_color)
 set color for handles
 
ACG::Vec4f handleColor () const
 get color for handles. returns -1 vector, if handle node does not exists
 
ACG::SceneGraph::SelectionNodeT
< TriMesh > * 
statusNode ()
 
ACG::SceneGraph::StatusNodeT
< TriMesh, AreaNodeMod
< TriMesh > > * 
areaNode ()
 Returns the area selection node if available, nullptr otherwise.
 
ACG::SceneGraph::StatusNodeT
< TriMesh, HandleNodeMod
< TriMesh > > * 
handleNode ()
 Returns the handle selection node if available, nullptr otherwise.
 
ACG::SceneGraph::StatusNodeT
< TriMesh, FeatureNodeMod
< TriMesh > > * 
featureNode ()
 Returns the feature selection node if available, nullptr otherwise.
 
- 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 ()
 return visiblity
 
virtual void visible (bool _visible)
 Sets visiblity of the whole Scenegraph subtree of this node.
 
SeparatorNodebaseNode ()
 
virtual bool hasNode (BaseNode *_node)
 Check if the given node is owned by this object. More...
 
QtTranslationManipulatorNodemanipulatorNode ()
 
MaterialNodematerialNode ()
 get a pointer to the materialnode
 
BoundingBoxNodeboundingBoxNode ()
 get a pointer to the bounding box node
 
StencilRefNodestencilRefNode ()
 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
 
BaseObjectparent ()
 Get the parent item ( 0 if rootitem )
 
const BaseObjectparent () const
 get the row of this item from the parent
 
void setParent (BaseObject *_parent)
 Set the parent pointer.
 
BaseObjectchildExists (int _objectId)
 Check if the element exists in the subtree of this element.
 
BaseObjectchildExists (QString _name)
 Check if the element exists in the subtree of this element.
 
void appendChild (BaseObject *child)
 add a child to this node
 
BaseObjectchild (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.
 
PerObjectDataobjectData (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 ()
 
BaseObjectlast ()
 
BaseObjectnext ()
 
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
 

Additional Inherited Members

- Public Types inherited from MeshObject< TriMesh >
typedef OpenMeshTriangleBSPT
< TriMesh
OMTriangleBSP
 If requested a bsp is created for this object.
 
- 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 Member Functions inherited from MeshObject< TriMesh >
virtual void init (TriMesh *_mesh=0)
 Initialise current object, including all related nodes. More...
 
virtual void update (UpdateType _type=UPDATE_ALL)
 Update the whole Object (Selection,Topology,...) More...
 
void updateSelection ()
 Call this function to update the modeling regions. More...
 
void updateModelingRegions ()
 Call this function to update the modeling regions. More...
 
void updateFeatures ()
 Update Feature Visualization Node. More...
 
void updateGeometry ()
 Update Geometry of all data structures. More...
 
void updateColor ()
 Update Colors of all data structures. More...
 
void updateTopology ()
 Update Topology of all data structures. More...
 
void updateTexture ()
 Update Texture of all data structures. More...
 
Update handling
Update handling
- Protected Attributes inherited from BaseObject
bool visible_
 

Detailed Description

Type for a MeshObject containing a triangle mesh.

Definition at line 73 of file TriangleMesh.hh.

Constructor & Destructor Documentation

TriMeshObject::TriMeshObject ( const TriMeshObject _object)

copy constructor

Create a copy of this object

Definition at line 64 of file TriangleMesh.cc.

TriMeshObject::TriMeshObject ( DataType  _typeId)

Constructor.

This is the standard constructor for MeshObjects. As triangle and Poly Meshes are handled by this class, the typeId is passed to the MeshObject to specify it.

Parameters
_typeIdThis is the type Id the Object will use. Should be typeId("TriangleMesh") or typeId("PolyMesh")

Definition at line 69 of file TriangleMesh.cc.

Member Function Documentation

BaseObject * TriMeshObject::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.

Reimplemented from BaseObject.

Definition at line 78 of file TriangleMesh.cc.


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