71 #include <OpenMesh/Core/IO/MeshIO.hh>
73 #include <ACG/Scenegraph/SeparatorNode.hh>
74 #include <ACG/Scenegraph/EnvMapNode.hh>
75 #include <ACG/Scenegraph/ShaderNode.hh>
76 #include <ACG/Scenegraph/StatusNodesT.hh>
80 #include <ObjectTypes/MeshObject/StatusNodeMods.hh>
81 #include <ObjectTypes/MeshObject/StatusViewNodeT.hh>
85 #include <ACG/Geometry/bsp/TriangleBSPT.hh>
89 #include <ACG/Scenegraph/MeshNode2T.hh>
102 template <
class MeshT >
134 virtual void init( MeshT* _mesh = 0);
176 void updateSelection();
179 void updateModelingRegions();
182 void updateFeatures();
185 void updateGeometry();
191 void updateTopology();
194 void updateTexture();
213 void hideSelection(
bool _hide );
216 bool selectionVisible();
219 void hideFeatures(
bool _hide );
222 bool featuresVisible( );
225 void hideArea( StatusBits _bit,
bool _hide );
235 bool areaVisible( StatusBits _bit );
246 void setSelectionColor(
const ACG::Vec4f& _color);
256 void setFeatureColor(
const ACG::Vec4f& _color);
261 void setHandleColor(
const ACG::Vec4f& _color);
317 bool loadMesh(QString _filename);
338 bool picked( uint _node_idx );
361 OMTriangleBSP* requestTriangleBsp();
369 void invalidateTriangleBsp();
377 OMTriangleBSP* resetTriangleBsp();
399 #if defined(INCLUDE_TEMPLATES) && !defined(MESHOBJECT_C)
400 #define MESHOBJECT_TEMPLATES
401 #include "MeshObjectT.cc"
406 #endif // MESHOBJECT_HH defined
ACG::SceneGraph::ShaderNode * shaderNode_
Scenegraph ShaderNode.
ACG::SceneGraph::EnvMapNode * textureNode_
Scenegraph TextureNode.
virtual QString getObjectinfo()
Get all Info for the Object as a string.
ACG::SceneGraph::MeshNodeT< MeshT > * meshNode_
Scenegraph Mesh Node.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
virtual void setName(QString _name)
path to the file from which the object is loaded ( defaults to "." )
virtual bool pickingEnabled()
OpenMeshTriangleBSPT< MeshT > OMTriangleBSP
If requested a bsp is created for this object.
ACG::SceneGraph::SelectionNodeT< MeshT > * statusNode_
Status Node for a mesh, visualizing the selection state of a mesh.
virtual BaseNode * primaryNode()
virtual void enablePicking(bool _enable)
ACG::SceneGraph::StatusNodeT< MeshT, AreaNodeMod< MeshT > > * areaNode_
Area selection Vis.
virtual ACG::SceneGraph::ShaderNode * shaderNode()
virtual void update(UpdateType _type=UPDATE_ALL)
This function is called to update the object.
ACG::SceneGraph::StatusNodeT< MeshT, HandleNodeMod< MeshT > > * handleNode()
Returns the handle selection node if available, nullptr otherwise.
ACG::SceneGraph::StatusNodeT< MeshT, FeatureNodeMod< MeshT > > * featureNode_
Feature selection Vis.
ACG::SceneGraph::StatusViewNodeT< MeshT > * statusView_
Scenegraph StatusNodeView.
ACG::SceneGraph::StatusNodeT< MeshT, HandleNodeMod< MeshT > > * handleNode_
Handle selection Vis.
OMTriangleBSP * triangle_bsp_
If requested a bsp is created for this object.
ACG::SceneGraph::SelectionNodeT< MeshT > * statusNode()
MeshT * mesh_
pointer to the mesh
ACG::SceneGraph::StatusNodeT< MeshT, AreaNodeMod< MeshT > > * areaNode()
Returns the area selection node if available, nullptr otherwise.
ACG::SceneGraph::StatusNodeT< MeshT, FeatureNodeMod< MeshT > > * featureNode()
Returns the feature selection node if available, nullptr otherwise.
virtual bool picked(uint _node_idx)
detect if the node has been picked