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
MeshT * mesh_
pointer to the mesh
ACG::SceneGraph::StatusNodeT< MeshT, FeatureNodeMod< MeshT > > * featureNode()
Returns the feature selection node if available, nullptr otherwise.
ACG::SceneGraph::StatusNodeT< MeshT, AreaNodeMod< MeshT > > * areaNode()
Returns the area selection node if available, nullptr otherwise.
ACG::SceneGraph::StatusNodeT< MeshT, HandleNodeMod< MeshT > > * handleNode_
Handle selection Vis.
ACG::SceneGraph::MeshNodeT< MeshT > * meshNode_
Scenegraph Mesh Node.
ACG::SceneGraph::StatusNodeT< MeshT, AreaNodeMod< MeshT > > * areaNode_
Area selection Vis.
virtual BaseNode * primaryNode()
virtual bool picked(uint _node_idx)
detect if the node has been picked
virtual bool pickingEnabled()
ACG::SceneGraph::SelectionNodeT< MeshT > * statusNode_
Status Node for a mesh, visualizing the selection state of a mesh.
virtual void setName(QString _name)
path to the file from which the object is loaded ( defaults to "." )
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.
OpenMeshTriangleBSPT< MeshT > OMTriangleBSP
If requested a bsp is created for this object.
virtual void enablePicking(bool _enable)
ACG::SceneGraph::ShaderNode * shaderNode_
Scenegraph ShaderNode.
ACG::SceneGraph::StatusNodeT< MeshT, FeatureNodeMod< MeshT > > * featureNode_
Feature selection Vis.
virtual QString getObjectinfo()
Get all Info for the Object as a string.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
ACG::SceneGraph::SelectionNodeT< MeshT > * statusNode()
ACG::SceneGraph::StatusViewNodeT< MeshT > * statusView_
Scenegraph StatusNodeView.
virtual ACG::SceneGraph::ShaderNode * shaderNode()
ACG::SceneGraph::EnvMapNode * textureNode_
Scenegraph TextureNode.
OMTriangleBSP * triangle_bsp_
If requested a bsp is created for this object.