65 #include <OpenMesh/Core/IO/MeshIO.hh> 67 #include <ACG/Scenegraph/SeparatorNode.hh> 68 #include <ACG/Scenegraph/EnvMapNode.hh> 69 #include <ACG/Scenegraph/ShaderNode.hh> 70 #include <ACG/Scenegraph/StatusNodesT.hh> 74 #include <ObjectTypes/MeshObject/StatusNodeMods.hh> 75 #include <ObjectTypes/MeshObject/StatusViewNodeT.hh> 79 #include <ACG/Geometry/bsp/TriangleBSPT.hh> 83 #include <ACG/Scenegraph/MeshNode2T.hh> 96 template <
class MeshT >
128 virtual void init( MeshT* _mesh = 0);
151 const MeshT* mesh()
const;
174 void updateSelection();
177 void updateModelingRegions();
180 void updateFeatures();
183 void updateGeometry();
189 void updateTopology();
192 void updateTexture();
211 void hideSelection(
bool _hide );
214 bool selectionVisible();
217 void hideFeatures(
bool _hide );
220 bool featuresVisible( );
223 void hideArea( StatusBits _bit,
bool _hide );
233 bool areaVisible( StatusBits _bit );
244 void setSelectionColor(
const ACG::Vec4f& _color);
254 void setFeatureColor(
const ACG::Vec4f& _color);
259 void setHandleColor(
const ACG::Vec4f& _color);
315 bool loadMesh(QString _filename);
336 bool picked( uint _node_idx );
359 OMTriangleBSP* requestTriangleBsp();
367 void invalidateTriangleBsp();
375 OMTriangleBSP* resetTriangleBsp();
397 #if defined(INCLUDE_TEMPLATES) && !defined(MESHOBJECT_C) 398 #define MESHOBJECT_TEMPLATES 399 #include "MeshObjectT_impl.hh" 404 #endif // MESHOBJECT_HH defined ACG::SceneGraph::StatusNodeT< MeshT, HandleNodeMod< MeshT > > * handleNode()
Returns the handle selection node if available, nullptr otherwise.
virtual QString getObjectinfo()
Get all Info for the Object as a string.
ACG::SceneGraph::MeshNodeT< MeshT > * meshNode_
Scenegraph Mesh Node.
virtual bool picked(uint _node_idx)
detect if the node has been picked
virtual void setName(QString _name) override
path to the file from which the object is loaded ( defaults to "." )
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
ACG::SceneGraph::ShaderNode * shaderNode_
Scenegraph ShaderNode.
ACG::SceneGraph::StatusNodeT< MeshT, FeatureNodeMod< MeshT > > * featureNode_
Feature selection Vis.
ACG::SceneGraph::StatusNodeT< MeshT, FeatureNodeMod< MeshT > > * featureNode()
Returns the feature selection node if available, nullptr otherwise.
virtual void enablePicking(bool _enable)
virtual BaseNode * primaryNode()
OMTriangleBSP * triangle_bsp_
If requested a bsp is created for this object.
virtual void cleanup() override
ACG::SceneGraph::StatusViewNodeT< MeshT > * statusView_
Scenegraph StatusNodeView.
virtual void update(UpdateType _type=UPDATE_ALL) override
This function is called to update the object.
ACG::SceneGraph::StatusNodeT< MeshT, AreaNodeMod< MeshT > > * areaNode_
Area selection Vis.
MeshT * mesh_
pointer to the mesh
ACG::SceneGraph::EnvMapNode * textureNode_
Scenegraph TextureNode.
ACG::SceneGraph::SelectionNodeT< MeshT > * statusNode_
Status Node for a mesh, visualizing the selection state of a mesh.
ACG::SceneGraph::StatusNodeT< MeshT, HandleNodeMod< MeshT > > * handleNode_
Handle selection Vis.
virtual ACG::SceneGraph::ShaderNode * shaderNode()
OpenMeshTriangleBSPT< MeshT > OMTriangleBSP
If requested a bsp is created for this object.
virtual bool pickingEnabled()
ACG::SceneGraph::SelectionNodeT< MeshT > * statusNode()
ACG::SceneGraph::StatusNodeT< MeshT, AreaNodeMod< MeshT > > * areaNode()
Returns the area selection node if available, nullptr otherwise.