Developer Documentation
VolumeMeshSelectionPlugin Class Reference
Inheritance diagram for VolumeMeshSelectionPlugin:
SelectionInterface ScriptInterface LoggingInterface BackupInterface INIInterface KeyInterface BaseInterface

Public Slots

void loadSelection (int _objId, const QString &_filename) override
 
QString version () override
 

Signals

void updateView () override
 
void updatedObject (int, const UpdateType &) override
 
void nodeVisibilityChanged (int _identifier) override
 
void setSlotDescription (QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions) override
 
void log (Logtype _type, QString _message) override
 
void log (QString _message) override
 
void scriptInfo (QString _functionName)
 
void addSelectionEnvironment (QString _modeName, QString _description, QString _icon, QString &_handleName) override
 
void registerType (QString _handleName, DataType _type) override
 
void addPrimitiveType (QString _handleName, QString _name, QString _icon, SelectionInterface::PrimitiveType &_typeHandle) override
 
void addSelectionOperations (QString _handleName, QStringList _operationsList, QString _category, SelectionInterface::PrimitiveType _type=0u) override
 
void addSelectionParameters (QString _handleName, QWidget *_widget, QString _category, SelectionInterface::PrimitiveType _type=0u) override
 
void showToggleSelectionMode (QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes) override
 
void showVolumeLassoSelectionMode (QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes) override
 
void showFloodFillSelectionMode (QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes) override
 
void addCustomSelectionMode (QString _handleName, QString _modeName, QString _description, QString _icon, SelectionInterface::PrimitiveType _associatedTypes, QString &_customIdentifier) override
 
void getActiveDataTypes (SelectionInterface::TypeList &_types) override
 
void getActivePrimitiveType (SelectionInterface::PrimitiveType &_type) override
 
void targetObjectsOnly (bool &_targetsOnly) override
 
void registerKeyShortcut (int _key, Qt::KeyboardModifiers _modifiers=Qt::NoModifier) override
 
- Signals inherited from BaseInterface
virtual void updateView ()
 Update current view in Main Application. More...
 
virtual void setSlotDescription (QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions)
 Set a description for a public slot. More...
 
virtual void setRenderer (unsigned int _viewer, QString _rendererName)
 Set a renderer for the given viewer. More...
 
- Signals inherited from KeyInterface
virtual void registerKey (int _key, Qt::KeyboardModifiers _modifiers, QString _description, bool _multiUse=false)
 Register a key-combination for your plugin. More...
 
- Signals inherited from BackupInterface
virtual void createBackup (int _objectid, QString _name, UpdateType _type=UPDATE_ALL)
 Tell Backup Plugin to create a backup. More...
 
virtual void aboutToRestore (int _objectid)
 Backup Plugin tells other Plugins that a restore will happen. More...
 
virtual void generateBackup (int _id, QString _name, UpdateType _type)
 This signal is emitted by a BackupPlugin and tells a TypePlugin to generate a backup. More...
 
- Signals inherited from LoggingInterface
virtual void log (Logtype _type, QString _message)=0
 
virtual void log (QString _message)=0
 
- Signals inherited from ScriptInterface
virtual void scriptInfo (QString _functionWithParameters)
 Emit this signal if a scriptable function is executed. More...
 
virtual void getScriptingEngine (QScriptEngine *&_engine)
 
virtual void executeFileScript (QString _filename)
 
virtual void getAvailableFunctions (QStringList &_functions)
 
- Signals inherited from SelectionInterface
virtual void addSelectionEnvironment (QString _modeName, QString _description, QString _icon, QString &_handleName)
 Add a selection environment in order to provide selection functions for specific data type(s) More...
 
virtual void showToggleSelectionMode (QString _handleName, bool _show, PrimitiveType _associatedTypes)
 Show toggle selection mode in a specified selection environment. More...
 
virtual void addSelectionOperations (QString _handleName, QStringList _operationsList, QString _category, PrimitiveType _type=0u)
 Add non-interactive selection operations for a specific primitive type. More...
 
virtual void selectionOperation (QString _operation)
 Emitted by selection base plugin when a non-interactive selection operation is requested. More...
 
virtual void registerKeyShortcut (int _key, Qt::KeyboardModifiers _modifiers=Qt::NoModifier)
 Register key shortcut. More...
 

Public Member Functions

 VolumeMeshSelectionPlugin ()
 Default constructor. More...
 
 ~VolumeMeshSelectionPlugin ()
 Default destructor. More...
 
void set_max_angle (const double _a)
 set max angle for flood fill selection More...
 
double get_max_angle ()
 get max angle for flood fill selection More...
 
QString name () override
 Return a name for the plugin. More...
 
QString description () override
 Return a description of what the plugin is doing. More...
 
Scriptable slots
bool vertexTypeActive ()
 Is vertex type active? (for use in plugins that need mesh selection) More...
 
bool edgeTypeActive ()
 Is vertex type active? (for use in plugins that need mesh selection) More...
 
bool faceTypeActive ()
 Is face type active? (for use in plugins that need mesh selection) More...
 
bool cellTypeActive ()
 Is cell type active? (for use in plugins that need mesh selection) More...
 
void selectAllVertices (int _objectId)
 Select all vertices of a volume mesh. More...
 
void deselectAllVertices (int _objectId)
 Deselect all vertices of a volume mesh. More...
 
void invertVertexSelection (int _objectId)
 Invert vertex selection. More...
 
void selectVertices (int _objectId, const IdList &_ids, bool _deselect=false)
 Select specific vertices of a volume mesh. More...
 
IdList getVertexSelection (int _objectId)
 Get current vertex selection. More...
 
void deleteSelectedVertices (int _objectId, bool _preserveManifoldness=true)
 Delete selected vertices from mesh. More...
 
void selectAllEdges (int _objectId)
 Select all edges of a volume mesh. More...
 
void deselectAllEdges (int _objectId)
 Deselect all edges of a volume mesh. More...
 
void invertEdgeSelection (int _objectId)
 Invert edge selection. More...
 
void selectEdges (int _objectId, const IdList &_ids, bool _deselect=false)
 Select specific edges of a volume mesh. More...
 
IdList getEdgeSelection (int _objectId)
 Get current edge selection. More...
 
void deleteSelectedEdges (int _objectId, bool _preserveManifoldness=true)
 Delete selected edges from mesh. More...
 
void selectAllHalfEdges (int _objectId)
 Select all half-edges of a volume mesh. More...
 
void deselectAllHalfEdges (int _objectId)
 Deselect all half-edges of a volume mesh. More...
 
void invertHalfEdgeSelection (int _objectId)
 Invert half-edge selection. More...
 
void selectHalfEdges (int _objectId, const IdList &_ids, bool _deselect=false)
 Select specific half-edges of a volume mesh. More...
 
IdList getHalfEdgeSelection (int _objectId)
 Get current half-edge selection. More...
 
void selectAllFaces (int _objectId)
 Select all faces of a volume mesh. More...
 
void deselectAllFaces (int _objectId)
 Deselect all faces of a volume mesh. More...
 
void invertFaceSelection (int _objectId)
 Invert face selection. More...
 
void selectFaces (int _objectId, const IdList &_ids, bool _deselect=false)
 Select specific faces of a volume mesh. More...
 
IdList getFaceSelection (int _objectId)
 Get current face selection. More...
 
void deleteSelectedFaces (int _objectId, bool _preserveManifoldness=true)
 Delete selected faces from mesh. More...
 
void selectAllHalfFaces (int _objectId)
 Select all half-faces of a volume mesh. More...
 
void deselectAllHalfFaces (int _objectId)
 Deselect all half-faces of a volume mesh. More...
 
void invertHalfFaceSelection (int _objectId)
 Invert half-face selection. More...
 
void selectHalfFaces (int _objectId, const IdList &_ids, bool _deselect=false)
 Select specific half-faces of a volume mesh. More...
 
IdList getHalfFaceSelection (int _objectId)
 Get current half-face selection. More...
 
void selectAllCells (int _objectId)
 Select all cells of a volume mesh. More...
 
void deselectAllCells (int _objectId)
 Deselect all cells of a volume mesh. More...
 
void invertCellSelection (int _objectId)
 Invert cell selection. More...
 
void selectCells (int _objectId, const IdList &_ids, bool _deselect=false)
 Select specific cells of a volume mesh. More...
 
IdList getCellSelection (int _objectId)
 Get current cell selection. More...
 
void deleteSelectedCells (int _objectId, bool _preserveManifoldness=true)
 Delete selected cells from mesh. More...
 

Private Slots

void loadIniFile (INIFile &_ini, int _id) override
 
void saveIniFile (INIFile &_ini, int _id) override
 
void initializePlugin () override
 
void pluginsInitialized () override
 
void noguiSupported () override
 
- Private Slots inherited from BaseInterface
virtual void exit ()
 
virtual QString version ()
 Return a version string for your plugin. More...
 
- Private Slots inherited from KeyInterface
virtual void slotKeyEvent (QKeyEvent *_event)
 Key Event from Main App. More...
 
- Private Slots inherited from SelectionInterface
virtual void loadSelection (int _objId, const QString &_filename)
 Scripting slot for loading selections. More...
 

Private Member Functions

void slotSelectionOperation (QString _operation) override
 A specific operation is requested. More...
 
void slotToggleSelection (QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect) override
 Called whenever the user performs a toggle selection. More...
 
void slotVolumeLassoSelection (QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect) override
 Called whenever the user performs a volume lasso selection. More...
 
void slotFloodFillSelection (QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect) override
 Called whenever the user performs a flood fill selection. More...
 
void slotCustomSelection (QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, QString _customIdentifier, bool _deselect) override
 Called whenever the user performs a custom selection. More...
 
void slotLoadSelection (const INIFile &_file) override
 Load selection for specific objects in the scene. More...
 
void slotSaveSelection (INIFile &_file) override
 Save selection for all objects in the scene. More...
 
void slotKeyShortcutEvent (int _key, Qt::KeyboardModifiers _modifiers) override
 One of the previously registered keys has been pressed. More...
 
Private methods
void updateSlotDescriptions ()
 Set slot descriptions for scripting functions. More...
 
- Private Member Functions inherited from BaseInterface
virtual void noguiSupported ()
 
virtual ~BaseInterface ()
 Destructor. More...
 
virtual void blockScenegraphUpdates (bool _block)
 Tell the core to prevent scenegraph updates. More...
 
virtual void updatedObject (int _objectId)
 An object has been changed or added by this plugin. More...
 
virtual void updatedObject (int _identifier, const UpdateType &_type)
 An object has been changed or added by this plugin. More...
 
virtual void nodeVisibilityChanged (int _identifier)
 A scenegraph node has been shown or hidden. More...
 
virtual void getCurrentRenderer (unsigned int _viewer, QString &_rendererName)
 Get the current renderer for the given viewer. More...
 
- Private Member Functions inherited from KeyInterface
virtual void slotKeyReleaseEvent (QKeyEvent *_event)
 Key Release Event from Main App. More...
 
virtual ~KeyInterface ()
 Destructor. More...
 
- Private Member Functions inherited from INIInterface
virtual ~INIInterface ()
 Destructor. More...
 
- Private Member Functions inherited from BackupInterface
virtual void createBackup (IdList _objectids, QString _name, std::vector< UpdateType > _types)
 Tell Backup Plugin to create a group backup. More...
 
virtual void undo (int _objectid)
 Tell Backup Plugin to undo the last action of an object. More...
 
virtual void redo (int _objectid)
 Tell Backup Plugin to redo the last action on an object. More...
 
virtual void undo ()
 Tell Backup Plugin to undo the last action. More...
 
virtual void redo ()
 Tell Backup Plugin to redo the last action. More...
 
virtual ~BackupInterface ()
 Destructor. More...
 
virtual void restored (int _objectid)
 Backup Plugin tells other Plugins that a restore has happened. More...
 
- Private Member Functions inherited from LoggingInterface
virtual ~LoggingInterface ()
 Destructor. More...
 
- Private Member Functions inherited from ScriptInterface
virtual ~ScriptInterface ()
 Destructor. More...
 
virtual void showScriptInEditor (QString _filename)
 
virtual void executeScript (QString _script)
 
virtual void getDescription (QString _function, QString &_description, QStringList &_parameters, QStringList &_descriptions)
 
- Private Member Functions inherited from SelectionInterface
virtual ~SelectionInterface ()
 Destructor. More...
 
virtual void registerType (QString _handleName, DataType _type)
 Register data type for a selection environment. More...
 
virtual void addPrimitiveType (QString _handleName, QString _name, QString _icon, PrimitiveType &_typeHandle)
 Provide selection for primitives other than the standard ones. More...
 
virtual void showLassoSelectionMode (QString _handleName, bool _show, PrimitiveType _associatedTypes)
 Show lasso selection mode in a specified selection environment. More...
 
virtual void showVolumeLassoSelectionMode (QString _handleName, bool _show, PrimitiveType _associatedTypes)
 Show volume lasso selection mode in a specified selection environment. More...
 
virtual void showSurfaceLassoSelectionMode (QString _handleName, bool _show, PrimitiveType _associatedTypes)
 Show surface lasso selection mode in a specified selection environment. More...
 
virtual void showSphereSelectionMode (QString _handleName, bool _show, PrimitiveType _associatedTypes)
 Show sphere selection mode in a specified selection environment. More...
 
virtual void showClosestBoundarySelectionMode (QString _handleName, bool _show, PrimitiveType _associatedTypes)
 Show closest boundary selection mode in a specified selection environment. More...
 
virtual void showFloodFillSelectionMode (QString _handleName, bool _show, PrimitiveType _associatedTypes)
 Show flood fill selection mode in a specified selection environment. More...
 
virtual void showComponentsSelectionMode (QString _handleName, bool _show, PrimitiveType _associatedTypes)
 Show connected components selection mode in a specified selection environment. More...
 
virtual void addCustomSelectionMode (QString _handleName, QString _modeName, QString _description, QString _icon, PrimitiveType _associatedTypes, QString &_customIdentifier)
 Add a custom interactive selection mode. More...
 
virtual void addCustomSelectionMode (QString _handleName, QString _modeName, QString _description, QString _icon, PrimitiveType _associatedTypes, QString &_customIdentifier, DataType _objectTypeRestriction)
 Add a custom interactive selection mode. More...
 
virtual void getActiveDataTypes (TypeList &_types)
 Get the data types that the currently active selection environment supports. More...
 
virtual void getActivePrimitiveType (PrimitiveType &_type)
 Get the primitive type that is selected. More...
 
virtual void targetObjectsOnly (bool &_targetsOnly)
 Indicates whether selection should be performed on target objects only. More...
 
virtual void addSelectionParameters (QString _handleName, QWidget *_widget, QString _category, PrimitiveType _type=0u)
 Add interactive selection parameters for a specific primitive type. More...
 
virtual void toggleSelection (QMouseEvent *_event, PrimitiveType _currentType, bool _deselect)
 Emitted by selection base plugin whenever the user performs a toggle selection. More...
 
virtual void lassoSelection (QMouseEvent *_event, PrimitiveType _currentType, bool _deselect)
 Emitted by selection base plugin whenever the user performs a lasso selection. More...
 
virtual void volumeLassoSelection (QMouseEvent *_event, PrimitiveType _currentType, bool _deselect)
 Emitted by selection base plugin whenever the user performs a volume lasso selection. More...
 
virtual void surfaceLassoSelection (QMouseEvent *_event, PrimitiveType _currentType, bool _deselect)
 Emitted by selection base plugin whenever the user performs a surface lasso selection. More...
 
virtual void sphereSelection (QMouseEvent *_event, double _radius, PrimitiveType _currentType, bool _deselect)
 Emitted by selection base plugin whenever the user performs a sphere selection. More...
 
virtual void closestBoundarySelection (QMouseEvent *_event, PrimitiveType _currentType, bool _deselect)
 Emitted by selection base plugin whenever the user performs a closest boundary selection. More...
 
virtual void floodFillSelection (QMouseEvent *_event, PrimitiveType _currentType, bool _deselect)
 Emitted by selection base plugin whenever the user performs a flood fill selection. More...
 
virtual void componentsSelection (QMouseEvent *_event, PrimitiveType _currentType, bool _deselect)
 Emitted by selection base plugin whenever the user performs a connected components selection. More...
 
virtual void customSelection (QMouseEvent *_event, PrimitiveType _currentType, QString _customIdentifier, bool _deselect)
 Emitted by selection base plugin whenever the user performs a custom selection. More...
 
virtual void loadSelection (const INIFile &_file)
 Load selections from ini-file. More...
 
virtual void saveSelection (INIFile &_file)
 Save selections into ini-file. More...
 
virtual void keyShortcutEvent (int _key, Qt::KeyboardModifiers _modifiers=Qt::NoModifier)
 Key shortcut event happened. More...
 

Friends

class SelectVolumeAction
 

Member variables

typedef std::pair< OpenVolumeMesh::HalfFaceHandle, OpenVolumeMesh::HalfFaceHandleHFPair
 Handle to selection environment. More...
 
QString environmentHandle_
 Handle to selection environment. More...
 
QString columnSelectionHandle_
 Handle to selection environment. More...
 
QString sheetSelectionHandle_
 Handle to selection environment. More...
 
PrimitiveType vertexType_
 Primitive type handles: More...
 
PrimitiveType edgeType_
 Handle to selection environment. More...
 
PrimitiveType faceType_
 Handle to selection environment. More...
 
PrimitiveType cellType_
 Handle to selection environment. More...
 
PrimitiveType allSupportedTypes_
 Handle to selection environment. More...
 
PrimitiveType floodFillSupportedTypes_
 Handle to selection environment. More...
 
VolMeshParamWidgetparameterWidget_
 Handle to selection environment. More...
 
double max_angle_
 Handle to selection environment. More...
 
QVector< QPoint > volumeLassoPoints_
 Keep volume lasso points. More...
 
OpenVolumeMesh::CellHandle lastPickedCell_
 Handle to selection environment. More...
 
unsigned char lastPickedOrientation_
 Handle to selection environment. More...
 
std::map< OpenVolumeMesh::CellHandle, unsigned char > orientationMap_
 Handle to selection environment. More...
 
template<class MeshT >
bool volumeSelection (MeshT *_mesh, ACG::GLState &_state, QRegion *_region, PrimitiveType _primitiveTypes, bool _deselection)
 Surface volume selection tool. More...
 
template<class MeshT >
void floodFillSelection (MeshT *_mesh, uint _fh, double _maxAngle, PrimitiveType _primitiveTypes, bool _deselection)
 Select all entities that are connected (and do not exceed the maximum dihedral angle) More...
 
unsigned char getOrthogonalOrientationOfNeighborCell (const OpenVolumeMesh::CellHandle &_ch1, const OpenVolumeMesh::CellHandle &_ch2, unsigned char _firstOrthDirection, const HexahedralMesh *_mesh) const
 Handle to selection environment. More...
 
HFPair getCommonFace (const OpenVolumeMesh::CellHandle &_ch1, const OpenVolumeMesh::CellHandle &_ch2, const HexahedralMesh *_mesh) const
 Handle to selection environment. More...
 
OpenVolumeMesh::StatusAttribgetStatus (int _objectId)
 Handle to selection environment. More...
 
OpenVolumeMesh::StatusAttribgetStatus (BaseObjectData *object)
 Handle to selection environment. More...
 

Additional Inherited Members

- Private Types inherited from SelectionInterface
typedef std::vector< DataTypeTypeList
 
typedef unsigned int PrimitiveType
 

Detailed Description

Definition at line 69 of file VolumeMeshSelectionPlugin.hh.

Member Typedef Documentation

◆ HFPair

Handle to selection environment.

Definition at line 345 of file VolumeMeshSelectionPlugin.hh.

Constructor & Destructor Documentation

◆ VolumeMeshSelectionPlugin()

VolumeMeshSelectionPlugin::VolumeMeshSelectionPlugin ( )

Default constructor.

Definition at line 81 of file VolumeMeshSelectionPlugin.cc.

◆ ~VolumeMeshSelectionPlugin()

VolumeMeshSelectionPlugin::~VolumeMeshSelectionPlugin ( )

Default destructor.

Definition at line 88 of file VolumeMeshSelectionPlugin.cc.

Member Function Documentation

◆ cellTypeActive()

bool VolumeMeshSelectionPlugin::cellTypeActive ( )

Is cell type active? (for use in plugins that need mesh selection)

Definition at line 225 of file VolumeMeshSelectionPlugin.cc.

◆ deleteSelectedCells()

void VolumeMeshSelectionPlugin::deleteSelectedCells ( int  _objectId,
bool  _preserveManifoldness = true 
)

Delete selected cells from mesh.

Definition at line 894 of file VolumeMeshSelectionFunctions.cc.

◆ deleteSelectedEdges()

void VolumeMeshSelectionPlugin::deleteSelectedEdges ( int  _objectId,
bool  _preserveManifoldness = true 
)

Delete selected edges from mesh.

Definition at line 329 of file VolumeMeshSelectionFunctions.cc.

◆ deleteSelectedFaces()

void VolumeMeshSelectionPlugin::deleteSelectedFaces ( int  _objectId,
bool  _preserveManifoldness = true 
)

Delete selected faces from mesh.

Definition at line 612 of file VolumeMeshSelectionFunctions.cc.

◆ deleteSelectedVertices()

void VolumeMeshSelectionPlugin::deleteSelectedVertices ( int  _objectId,
bool  _preserveManifoldness = true 
)

Delete selected vertices from mesh.

Definition at line 175 of file VolumeMeshSelectionFunctions.cc.

◆ description()

QString VolumeMeshSelectionPlugin::description ( )
inlineoverridevirtual

Return a description of what the plugin is doing.

This function has to return a basic description of the plugin

Implements BaseInterface.

Definition at line 170 of file VolumeMeshSelectionPlugin.hh.

◆ deselectAllCells()

void VolumeMeshSelectionPlugin::deselectAllCells ( int  _objectId)

Deselect all cells of a volume mesh.

Definition at line 791 of file VolumeMeshSelectionFunctions.cc.

◆ deselectAllEdges()

void VolumeMeshSelectionPlugin::deselectAllEdges ( int  _objectId)

Deselect all edges of a volume mesh.

Definition at line 226 of file VolumeMeshSelectionFunctions.cc.

◆ deselectAllFaces()

void VolumeMeshSelectionPlugin::deselectAllFaces ( int  _objectId)

Deselect all faces of a volume mesh.

Definition at line 509 of file VolumeMeshSelectionFunctions.cc.

◆ deselectAllHalfEdges()

void VolumeMeshSelectionPlugin::deselectAllHalfEdges ( int  _objectId)

Deselect all half-edges of a volume mesh.

Definition at line 380 of file VolumeMeshSelectionFunctions.cc.

◆ deselectAllHalfFaces()

void VolumeMeshSelectionPlugin::deselectAllHalfFaces ( int  _objectId)

Deselect all half-faces of a volume mesh.

Definition at line 663 of file VolumeMeshSelectionFunctions.cc.

◆ deselectAllVertices()

void VolumeMeshSelectionPlugin::deselectAllVertices ( int  _objectId)

Deselect all vertices of a volume mesh.

Definition at line 72 of file VolumeMeshSelectionFunctions.cc.

◆ edgeTypeActive()

bool VolumeMeshSelectionPlugin::edgeTypeActive ( )

Is vertex type active? (for use in plugins that need mesh selection)

Definition at line 213 of file VolumeMeshSelectionPlugin.cc.

◆ faceTypeActive()

bool VolumeMeshSelectionPlugin::faceTypeActive ( )

Is face type active? (for use in plugins that need mesh selection)

Definition at line 219 of file VolumeMeshSelectionPlugin.cc.

◆ floodFillSelection()

template<class MeshT >
void VolumeMeshSelectionPlugin::floodFillSelection ( MeshT _mesh,
uint  _fh,
double  _maxAngle,
PrimitiveType  _primitiveTypes,
bool  _deselection 
)
private

Select all entities that are connected (and do not exceed the maximum dihedral angle)

Select all primitves of a planar region surrounding the faceHandle.

Parameters
_mesha mesh
_fhhandle of the face that was picked
_maxAnglethe maximum dihedral angle over which the flood fill selection passes
_primitiveTypesthe currently active primitive types
_deselectiontrue if primitives should be deselected

Definition at line 150 of file VolumeMeshSelectionPluginT_impl.hh.

◆ get_max_angle()

double VolumeMeshSelectionPlugin::get_max_angle ( )

get max angle for flood fill selection

Definition at line 858 of file VolumeMeshSelectionPlugin.cc.

◆ getCellSelection()

IdList VolumeMeshSelectionPlugin::getCellSelection ( int  _objectId)

Get current cell selection.

Definition at line 869 of file VolumeMeshSelectionFunctions.cc.

◆ getCommonFace()

VolumeMeshSelectionPlugin::HFPair VolumeMeshSelectionPlugin::getCommonFace ( const OpenVolumeMesh::CellHandle _ch1,
const OpenVolumeMesh::CellHandle _ch2,
const HexahedralMesh _mesh 
) const
private

Handle to selection environment.

Definition at line 791 of file VolumeMeshSelectionPlugin.cc.

◆ getEdgeSelection()

IdList VolumeMeshSelectionPlugin::getEdgeSelection ( int  _objectId)

Get current edge selection.

Definition at line 304 of file VolumeMeshSelectionFunctions.cc.

◆ getFaceSelection()

IdList VolumeMeshSelectionPlugin::getFaceSelection ( int  _objectId)

Get current face selection.

Definition at line 587 of file VolumeMeshSelectionFunctions.cc.

◆ getHalfEdgeSelection()

IdList VolumeMeshSelectionPlugin::getHalfEdgeSelection ( int  _objectId)

Get current half-edge selection.

Definition at line 458 of file VolumeMeshSelectionFunctions.cc.

◆ getHalfFaceSelection()

IdList VolumeMeshSelectionPlugin::getHalfFaceSelection ( int  _objectId)

Get current half-face selection.

Definition at line 741 of file VolumeMeshSelectionFunctions.cc.

◆ getOrthogonalOrientationOfNeighborCell()

unsigned char VolumeMeshSelectionPlugin::getOrthogonalOrientationOfNeighborCell ( const OpenVolumeMesh::CellHandle _ch1,
const OpenVolumeMesh::CellHandle _ch2,
unsigned char  _firstOrthDirection,
const HexahedralMesh _mesh 
) const
private

Handle to selection environment.

Definition at line 760 of file VolumeMeshSelectionPlugin.cc.

◆ getStatus() [1/2]

OpenVolumeMesh::StatusAttrib * VolumeMeshSelectionPlugin::getStatus ( BaseObjectData object)
private

Handle to selection environment.

Definition at line 833 of file VolumeMeshSelectionPlugin.cc.

◆ getStatus() [2/2]

OpenVolumeMesh::StatusAttrib * VolumeMeshSelectionPlugin::getStatus ( int  _objectId)
private

Handle to selection environment.

Definition at line 811 of file VolumeMeshSelectionPlugin.cc.

◆ getVertexSelection()

IdList VolumeMeshSelectionPlugin::getVertexSelection ( int  _objectId)

Get current vertex selection.

Definition at line 150 of file VolumeMeshSelectionFunctions.cc.

◆ initializePlugin

void VolumeMeshSelectionPlugin::initializePlugin ( )
overrideprivateslot

Definition at line 93 of file VolumeMeshSelectionPlugin.cc.

◆ invertCellSelection()

void VolumeMeshSelectionPlugin::invertCellSelection ( int  _objectId)

Invert cell selection.

Definition at line 814 of file VolumeMeshSelectionFunctions.cc.

◆ invertEdgeSelection()

void VolumeMeshSelectionPlugin::invertEdgeSelection ( int  _objectId)

Invert edge selection.

Definition at line 249 of file VolumeMeshSelectionFunctions.cc.

◆ invertFaceSelection()

void VolumeMeshSelectionPlugin::invertFaceSelection ( int  _objectId)

Invert face selection.

Definition at line 532 of file VolumeMeshSelectionFunctions.cc.

◆ invertHalfEdgeSelection()

void VolumeMeshSelectionPlugin::invertHalfEdgeSelection ( int  _objectId)

Invert half-edge selection.

Definition at line 403 of file VolumeMeshSelectionFunctions.cc.

◆ invertHalfFaceSelection()

void VolumeMeshSelectionPlugin::invertHalfFaceSelection ( int  _objectId)

Invert half-face selection.

Definition at line 686 of file VolumeMeshSelectionFunctions.cc.

◆ invertVertexSelection()

void VolumeMeshSelectionPlugin::invertVertexSelection ( int  _objectId)

Invert vertex selection.

Definition at line 95 of file VolumeMeshSelectionFunctions.cc.

◆ loadIniFile

void VolumeMeshSelectionPlugin::loadIniFile ( INIFile _ini,
int  _id 
)
overrideprivateslot

Definition at line 881 of file VolumeMeshSelectionPlugin.cc.

◆ loadSelection

void VolumeMeshSelectionPlugin::loadSelection ( int  _objId,
const QString &  _filename 
)
overrideslot

Definition at line 865 of file VolumeMeshSelectionPlugin.cc.

◆ name()

QString VolumeMeshSelectionPlugin::name ( )
inlineoverridevirtual

Return a name for the plugin.

This Function has to return the name of the plugin.

Implements BaseInterface.

Definition at line 166 of file VolumeMeshSelectionPlugin.hh.

◆ noguiSupported

void VolumeMeshSelectionPlugin::noguiSupported ( )
inlineoverrideprivateslot

Definition at line 143 of file VolumeMeshSelectionPlugin.hh.

◆ pluginsInitialized

void VolumeMeshSelectionPlugin::pluginsInitialized ( )
overrideprivateslot

Definition at line 103 of file VolumeMeshSelectionPlugin.cc.

◆ saveIniFile

void VolumeMeshSelectionPlugin::saveIniFile ( INIFile _ini,
int  _id 
)
overrideprivateslot

Definition at line 926 of file VolumeMeshSelectionPlugin.cc.

◆ selectAllCells()

void VolumeMeshSelectionPlugin::selectAllCells ( int  _objectId)

Select all cells of a volume mesh.

Definition at line 768 of file VolumeMeshSelectionFunctions.cc.

◆ selectAllEdges()

void VolumeMeshSelectionPlugin::selectAllEdges ( int  _objectId)

Select all edges of a volume mesh.

Definition at line 203 of file VolumeMeshSelectionFunctions.cc.

◆ selectAllFaces()

void VolumeMeshSelectionPlugin::selectAllFaces ( int  _objectId)

Select all faces of a volume mesh.

Definition at line 486 of file VolumeMeshSelectionFunctions.cc.

◆ selectAllHalfEdges()

void VolumeMeshSelectionPlugin::selectAllHalfEdges ( int  _objectId)

Select all half-edges of a volume mesh.

Definition at line 357 of file VolumeMeshSelectionFunctions.cc.

◆ selectAllHalfFaces()

void VolumeMeshSelectionPlugin::selectAllHalfFaces ( int  _objectId)

Select all half-faces of a volume mesh.

Definition at line 640 of file VolumeMeshSelectionFunctions.cc.

◆ selectAllVertices()

void VolumeMeshSelectionPlugin::selectAllVertices ( int  _objectId)

Select all vertices of a volume mesh.

Definition at line 49 of file VolumeMeshSelectionFunctions.cc.

◆ selectCells()

void VolumeMeshSelectionPlugin::selectCells ( int  _objectId,
const IdList _ids,
bool  _deselect = false 
)

Select specific cells of a volume mesh.

Definition at line 837 of file VolumeMeshSelectionFunctions.cc.

◆ selectEdges()

void VolumeMeshSelectionPlugin::selectEdges ( int  _objectId,
const IdList _ids,
bool  _deselect = false 
)

Select specific edges of a volume mesh.

Definition at line 272 of file VolumeMeshSelectionFunctions.cc.

◆ selectFaces()

void VolumeMeshSelectionPlugin::selectFaces ( int  _objectId,
const IdList _ids,
bool  _deselect = false 
)

Select specific faces of a volume mesh.

Definition at line 555 of file VolumeMeshSelectionFunctions.cc.

◆ selectHalfEdges()

void VolumeMeshSelectionPlugin::selectHalfEdges ( int  _objectId,
const IdList _ids,
bool  _deselect = false 
)

Select specific half-edges of a volume mesh.

Definition at line 426 of file VolumeMeshSelectionFunctions.cc.

◆ selectHalfFaces()

void VolumeMeshSelectionPlugin::selectHalfFaces ( int  _objectId,
const IdList _ids,
bool  _deselect = false 
)

Select specific half-faces of a volume mesh.

Definition at line 709 of file VolumeMeshSelectionFunctions.cc.

◆ selectVertices()

void VolumeMeshSelectionPlugin::selectVertices ( int  _objectId,
const IdList _ids,
bool  _deselect = false 
)

Select specific vertices of a volume mesh.

Definition at line 118 of file VolumeMeshSelectionFunctions.cc.

◆ set_max_angle()

void VolumeMeshSelectionPlugin::set_max_angle ( const double  _a)

set max angle for flood fill selection

Definition at line 853 of file VolumeMeshSelectionPlugin.cc.

◆ slotCustomSelection()

void VolumeMeshSelectionPlugin::slotCustomSelection ( QMouseEvent *  _event,
SelectionInterface::PrimitiveType  _currentType,
QString  _customIdentifier,
bool  _deselect 
)
overrideprivatevirtual

Called whenever the user performs a custom selection.

This has to be implemented by each type selection plugin if this interactive selection mode should be provided.

Parameters
_eventThe mouse event that currently is performed
_currentTypeThe currently active primitive type
_customIdentifierHolds the identifier of the custom selection modes
_deselectTrue if entities should be deselected

Reimplemented from SelectionInterface.

Definition at line 606 of file VolumeMeshSelectionPlugin.cc.

◆ slotFloodFillSelection()

void VolumeMeshSelectionPlugin::slotFloodFillSelection ( QMouseEvent *  _event,
SelectionInterface::PrimitiveType  _currentType,
bool  _deselect 
)
overrideprivatevirtual

Called whenever the user performs a flood fill selection.

This has to be implemented by each type selection plugin if this interactive selection mode should be provided. The metaphor behind it is that the user clicks on an object and all primitives close to this point get selected, if the angle between the clicked point and the next point does not differ more than the specified angle.

Parameters
_eventThe mouse event that currently is performed
_currentTypeThe currently active primitive type
_deselectTrue if entities should be deselected

Reimplemented from SelectionInterface.

Definition at line 491 of file VolumeMeshSelectionPlugin.cc.

◆ slotKeyShortcutEvent()

void VolumeMeshSelectionPlugin::slotKeyShortcutEvent ( int  _key,
Qt::KeyboardModifiers  _modifiers 
)
overrideprivatevirtual

One of the previously registered keys has been pressed.

This slot is called whenever the user has pressed one of the registered keys. Note that this is actually handled by the selection base plugin since the different plugins might want to register the same key multiple times.

Parameters
_keyThe pressed key
_modifiersIndicates whether mod-keys have been pressed synchronously

Reimplemented from SelectionInterface.

Definition at line 1026 of file VolumeMeshSelectionPlugin.cc.

◆ slotLoadSelection()

void VolumeMeshSelectionPlugin::slotLoadSelection ( const INIFile _file)
overrideprivatevirtual

Load selection for specific objects in the scene.

OpenFlipper allows for saving of selections in an INI file (implemented by the different selection plugins by overriding function slotSaveSelection()). So this slot is called each time such INI file is about to be loaded.

Parameters
_fileThe file from which one can read the selection data

Reimplemented from SelectionInterface.

Definition at line 949 of file VolumeMeshSelectionPlugin.cc.

◆ slotSaveSelection()

void VolumeMeshSelectionPlugin::slotSaveSelection ( INIFile _file)
overrideprivatevirtual

Save selection for all objects in the scene.

Override this slot in order to save selections for a specific data type. These selections are then stored within an INI file and can be loaded via slotLoadSelection().

Parameters
_fileThe file into which one can store selection data

Reimplemented from SelectionInterface.

Definition at line 998 of file VolumeMeshSelectionPlugin.cc.

◆ slotSelectionOperation()

void VolumeMeshSelectionPlugin::slotSelectionOperation ( QString  _operation)
overrideprivatevirtual

A specific operation is requested.

This slot is called each time the user has pressed one of the operations buttons (for the various primitive types) offered in the tool box.

Parameters
_operationThe identifier of the operation just as registered via addSelectionOperations

Reimplemented from SelectionInterface.

Definition at line 233 of file VolumeMeshSelectionPlugin.cc.

◆ slotToggleSelection()

void VolumeMeshSelectionPlugin::slotToggleSelection ( QMouseEvent *  _event,
SelectionInterface::PrimitiveType  _currentType,
bool  _deselect 
)
overrideprivatevirtual

Called whenever the user performs a toggle selection.

This has to be implemented by each type selection plugin if this interactive selection mode should be provided.

Parameters
_eventThe mouse event that occurred
_currentTypeThe currently active primitive type
_deselectTrue if entities should be deselected

Reimplemented from SelectionInterface.

Definition at line 353 of file VolumeMeshSelectionPlugin.cc.

◆ slotVolumeLassoSelection()

void VolumeMeshSelectionPlugin::slotVolumeLassoSelection ( QMouseEvent *  _event,
SelectionInterface::PrimitiveType  _currentType,
bool  _deselect 
)
overrideprivatevirtual

Called whenever the user performs a volume lasso selection.

This has to be implemented by each type selection plugin if this interactive selection mode should be provided. The metaphor behind it is that the user draws a polygonal line and all primitives which are insinde the volume spanned by the eye position and the polygon get selected.

Parameters
_eventThe mouse event that currently is performed
_currentTypeThe currently active primitive type
_deselectTrue if entities should be deselected

Reimplemented from SelectionInterface.

Definition at line 462 of file VolumeMeshSelectionPlugin.cc.

◆ updateSlotDescriptions()

void VolumeMeshSelectionPlugin::updateSlotDescriptions ( )
private

Set slot descriptions for scripting functions.

Definition at line 198 of file VolumeMeshSelectionPlugin.cc.

◆ version

QString VolumeMeshSelectionPlugin::version ( )
inlineoverrideslot

Definition at line 187 of file VolumeMeshSelectionPlugin.hh.

◆ vertexTypeActive()

bool VolumeMeshSelectionPlugin::vertexTypeActive ( )

Is vertex type active? (for use in plugins that need mesh selection)

Definition at line 207 of file VolumeMeshSelectionPlugin.cc.

◆ volumeSelection()

template<class MeshT >
bool VolumeMeshSelectionPlugin::volumeSelection ( MeshT _mesh,
ACG::GLState _state,
QRegion *  _region,
PrimitiveType  _primitiveType,
bool  _deselection 
)
private

Surface volume selection tool.

Select all primitives that are entirely projected to the given region.

Parameters
_mesha mesh
_statecurrent gl state
_regionregion
_primitiveTypeprimitive types to be selected
_deselectiontrue, if entities should be deselected
Returns
true, if something was selected

Definition at line 60 of file VolumeMeshSelectionPluginT_impl.hh.

Friends And Related Function Documentation

◆ SelectVolumeAction

friend class SelectVolumeAction
friend

Definition at line 91 of file VolumeMeshSelectionPlugin.hh.

Member Data Documentation

◆ allSupportedTypes_

PrimitiveType VolumeMeshSelectionPlugin::allSupportedTypes_
private

Handle to selection environment.

Definition at line 365 of file VolumeMeshSelectionPlugin.hh.

◆ cellType_

PrimitiveType VolumeMeshSelectionPlugin::cellType_
private

Handle to selection environment.

Definition at line 363 of file VolumeMeshSelectionPlugin.hh.

◆ columnSelectionHandle_

QString VolumeMeshSelectionPlugin::columnSelectionHandle_
private

Handle to selection environment.

Definition at line 356 of file VolumeMeshSelectionPlugin.hh.

◆ edgeType_

PrimitiveType VolumeMeshSelectionPlugin::edgeType_
private

Handle to selection environment.

Definition at line 361 of file VolumeMeshSelectionPlugin.hh.

◆ environmentHandle_

QString VolumeMeshSelectionPlugin::environmentHandle_
private

Handle to selection environment.

Definition at line 354 of file VolumeMeshSelectionPlugin.hh.

◆ faceType_

PrimitiveType VolumeMeshSelectionPlugin::faceType_
private

Handle to selection environment.

Definition at line 362 of file VolumeMeshSelectionPlugin.hh.

◆ floodFillSupportedTypes_

PrimitiveType VolumeMeshSelectionPlugin::floodFillSupportedTypes_
private

Handle to selection environment.

Definition at line 366 of file VolumeMeshSelectionPlugin.hh.

◆ lastPickedCell_

OpenVolumeMesh::CellHandle VolumeMeshSelectionPlugin::lastPickedCell_
private

Handle to selection environment.

Definition at line 376 of file VolumeMeshSelectionPlugin.hh.

◆ lastPickedOrientation_

unsigned char VolumeMeshSelectionPlugin::lastPickedOrientation_
private

Handle to selection environment.

Definition at line 377 of file VolumeMeshSelectionPlugin.hh.

◆ max_angle_

double VolumeMeshSelectionPlugin::max_angle_
private

Handle to selection environment.

Definition at line 370 of file VolumeMeshSelectionPlugin.hh.

◆ orientationMap_

std::map<OpenVolumeMesh::CellHandle, unsigned char> VolumeMeshSelectionPlugin::orientationMap_
private

Handle to selection environment.

Definition at line 378 of file VolumeMeshSelectionPlugin.hh.

◆ parameterWidget_

VolMeshParamWidget* VolumeMeshSelectionPlugin::parameterWidget_
private

Handle to selection environment.

Definition at line 368 of file VolumeMeshSelectionPlugin.hh.

◆ sheetSelectionHandle_

QString VolumeMeshSelectionPlugin::sheetSelectionHandle_
private

Handle to selection environment.

Definition at line 357 of file VolumeMeshSelectionPlugin.hh.

◆ vertexType_

PrimitiveType VolumeMeshSelectionPlugin::vertexType_
private

Primitive type handles:

Definition at line 360 of file VolumeMeshSelectionPlugin.hh.

◆ volumeLassoPoints_

QVector<QPoint> VolumeMeshSelectionPlugin::volumeLassoPoints_
private

Keep volume lasso points.

Definition at line 373 of file VolumeMeshSelectionPlugin.hh.


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