Developer Documentation
|
Public Slots | |
void | loadSelection (int _objId, const QString &_filename) |
QString | version () |
Signals | |
void | updateView () |
void | updatedObject (int, const UpdateType &) |
void | nodeVisibilityChanged (int _identifier) |
void | setSlotDescription (QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions) |
void | log (Logtype _type, QString _message) |
void | log (QString _message) |
void | scriptInfo (QString _functionName) |
void | addSelectionEnvironment (QString _modeName, QString _description, QString _icon, QString &_handleName) |
void | registerType (QString _handleName, DataType _type) |
void | addPrimitiveType (QString _handleName, QString _name, QString _icon, SelectionInterface::PrimitiveType &_typeHandle) |
void | addSelectionOperations (QString _handleName, QStringList _operationsList, QString _category, SelectionInterface::PrimitiveType _type=0u) |
void | showToggleSelectionMode (QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes) |
void | showVolumeLassoSelectionMode (QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes) |
void | showFloodFillSelectionMode (QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes) |
void | addCustomSelectionMode (QString _handleName, QString _modeName, QString _description, QString _icon, SelectionInterface::PrimitiveType _associatedTypes, QString &_customIdentifier) |
void | getActiveDataTypes (SelectionInterface::TypeList &_types) |
void | getActivePrimitiveType (SelectionInterface::PrimitiveType &_type) |
void | targetObjectsOnly (bool &_targetsOnly) |
void | registerKeyShortcut (int _key, Qt::KeyboardModifiers _modifiers=Qt::NoModifier) |
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 | executeScript (QString _script) |
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 | registerKeyShortcut (int _key, Qt::KeyboardModifiers _modifiers=Qt::NoModifier) |
Register key shortcut. 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... | |
Public Member Functions | |
VolumeMeshSelectionPlugin () | |
Default constructor. | |
~VolumeMeshSelectionPlugin () | |
Default destructor. | |
QString | name () |
Return a name for the plugin. More... | |
QString | description () |
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) | |
bool | edgeTypeActive () |
Is vertex type active? (for use in plugins that need mesh selection) | |
bool | faceTypeActive () |
Is face type active? (for use in plugins that need mesh selection) | |
bool | cellTypeActive () |
Is cell type active? (for use in plugins that need mesh selection) | |
void | selectAllVertices (int _objectId) |
Select all vertices of a volume mesh. | |
void | deselectAllVertices (int _objectId) |
Deselect all vertices of a volume mesh. | |
void | invertVertexSelection (int _objectId) |
Invert vertex selection. | |
void | selectVertices (int _objectId, const IdList &_ids, bool _deselect=false) |
Select specific vertices of a volume mesh. | |
IdList | getVertexSelection (int _objectId) |
Get current vertex selection. | |
void | deleteSelectedVertices (int _objectId, bool _preserveManifoldness=true) |
Delete selected vertices from mesh. | |
void | selectAllEdges (int _objectId) |
Select all edges of a volume mesh. | |
void | deselectAllEdges (int _objectId) |
Deselect all edges of a volume mesh. | |
void | invertEdgeSelection (int _objectId) |
Invert edge selection. | |
void | selectEdges (int _objectId, const IdList &_ids, bool _deselect=false) |
Select specific edges of a volume mesh. | |
IdList | getEdgeSelection (int _objectId) |
Get current edge selection. | |
void | deleteSelectedEdges (int _objectId, bool _preserveManifoldness=true) |
Delete selected edges from mesh. | |
void | selectAllHalfEdges (int _objectId) |
Select all half-edges of a volume mesh. | |
void | deselectAllHalfEdges (int _objectId) |
Deselect all half-edges of a volume mesh. | |
void | invertHalfEdgeSelection (int _objectId) |
Invert half-edge selection. | |
void | selectHalfEdges (int _objectId, const IdList &_ids, bool _deselect=false) |
Select specific half-edges of a volume mesh. | |
IdList | getHalfEdgeSelection (int _objectId) |
Get current half-edge selection. | |
void | selectAllFaces (int _objectId) |
Select all faces of a volume mesh. | |
void | deselectAllFaces (int _objectId) |
Deselect all faces of a volume mesh. | |
void | invertFaceSelection (int _objectId) |
Invert face selection. | |
void | selectFaces (int _objectId, const IdList &_ids, bool _deselect=false) |
Select specific faces of a volume mesh. | |
IdList | getFaceSelection (int _objectId) |
Get current face selection. | |
void | deleteSelectedFaces (int _objectId, bool _preserveManifoldness=true) |
Delete selected faces from mesh. | |
void | selectAllHalfFaces (int _objectId) |
Select all half-faces of a volume mesh. | |
void | deselectAllHalfFaces (int _objectId) |
Deselect all half-faces of a volume mesh. | |
void | invertHalfFaceSelection (int _objectId) |
Invert half-face selection. | |
void | selectHalfFaces (int _objectId, const IdList &_ids, bool _deselect=false) |
Select specific half-faces of a volume mesh. | |
IdList | getHalfFaceSelection (int _objectId) |
Get current half-face selection. | |
void | selectAllCells (int _objectId) |
Select all cells of a volume mesh. | |
void | deselectAllCells (int _objectId) |
Deselect all cells of a volume mesh. | |
void | invertCellSelection (int _objectId) |
Invert cell selection. | |
void | selectCells (int _objectId, const IdList &_ids, bool _deselect=false) |
Select specific cells of a volume mesh. | |
IdList | getCellSelection (int _objectId) |
Get current cell selection. | |
void | deleteSelectedCells (int _objectId, bool _preserveManifoldness=true) |
Delete selected cells from mesh. | |
Private Slots | |
void | loadIniFile (INIFile &_ini, int _id) |
void | saveIniFile (INIFile &_ini, int _id) |
void | initializePlugin () |
void | pluginsInitialized () |
void | noguiSupported () |
Private Member Functions | |
void | slotSelectionOperation (QString _operation) |
A specific operation is requested. More... | |
void | slotToggleSelection (QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect) |
Called whenever the user performs a toggle selection. More... | |
void | slotVolumeLassoSelection (QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect) |
Called whenever the user performs a volume lasso selection. More... | |
void | slotFloodFillSelection (QMouseEvent *_event, double _maxAngle, SelectionInterface::PrimitiveType _currentType, bool _deselect) |
Called whenever the user performs a flood fill selection. More... | |
void | slotCustomSelection (QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, QString _customIdentifier, bool _deselect) |
Called whenever the user performs a custom selection. More... | |
void | slotLoadSelection (const INIFile &_file) |
Load selection for specific objects in the scene. More... | |
void | slotSaveSelection (INIFile &_file) |
Save selection for all objects in the scene. More... | |
void | slotKeyShortcutEvent (int _key, Qt::KeyboardModifiers _modifiers) |
One of the previously registered keys has been pressed. More... | |
Private methods | |
void | updateSlotDescriptions () |
Set slot descriptions for scripting functions. | |
Private Member Functions inherited from BaseInterface | |
virtual void | noguiSupported () |
virtual | ~BaseInterface () |
Destructor. | |
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. | |
Private Member Functions inherited from INIInterface | |
virtual | ~INIInterface () |
Destructor. | |
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. | |
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. | |
Private Member Functions inherited from ScriptInterface | |
virtual | ~ScriptInterface () |
Destructor. | |
virtual void | executeFileScript (QString _filename) |
virtual void | getDescription (QString _function, QString &_description, QStringList &_parameters, QStringList &_descriptions) |
Private Member Functions inherited from SelectionInterface | |
virtual | ~SelectionInterface () |
Destructor. | |
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 | 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, double _maxAngle, 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::HalfFaceHandle > | HFPair |
Handle to selection environment. | |
QString | environmentHandle_ |
Handle to selection environment. | |
QString | columnSelectionHandle_ |
Handle to selection environment. | |
QString | sheetSelectionHandle_ |
Handle to selection environment. | |
PrimitiveType | vertexType_ |
Primitive type handles: | |
PrimitiveType | edgeType_ |
Handle to selection environment. | |
PrimitiveType | faceType_ |
Handle to selection environment. | |
PrimitiveType | cellType_ |
Handle to selection environment. | |
PrimitiveType | allSupportedTypes_ |
Handle to selection environment. | |
PrimitiveType | floodFillSupportedTypes_ |
Handle to selection environment. | |
QVector< QPoint > | volumeLassoPoints_ |
Keep volume lasso points. | |
OpenVolumeMesh::CellHandle | lastPickedCell_ |
Handle to selection environment. | |
unsigned char | lastPickedOrientation_ |
Handle to selection environment. | |
std::map < OpenVolumeMesh::CellHandle, unsigned char > | orientationMap_ |
Handle to selection environment. | |
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. | |
HFPair | getCommonFace (const OpenVolumeMesh::CellHandle &_ch1, const OpenVolumeMesh::CellHandle &_ch2, const HexahedralMesh *_mesh) const |
Handle to selection environment. | |
Additional Inherited Members | |
Private Types inherited from SelectionInterface | |
typedef std::vector< DataType > | TypeList |
typedef unsigned int | PrimitiveType |
Definition at line 72 of file VolumeMeshSelectionPlugin.hh.
|
inlinevirtual |
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 169 of file VolumeMeshSelectionPlugin.hh.
|
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.
_mesh | a mesh |
_fh | handle of the face that was picked |
_maxAngle | the maximum dihedral angle over which the flood fill selection passes |
_primitiveTypes | the currently active primitive types |
_deselection | true if primitives should be deselected |
Definition at line 161 of file VolumeMeshSelectionPluginT.cc.
|
inlinevirtual |
Return a name for the plugin.
This Function has to return the name of the plugin.
Implements BaseInterface.
Definition at line 165 of file VolumeMeshSelectionPlugin.hh.
|
privatevirtual |
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.
_event | The mouse event that currently is performed |
_currentType | The currently active primitive type |
_customIdentifier | Holds the identifier of the custom selection modes |
_deselect | True if entities should be deselected |
Reimplemented from SelectionInterface.
Definition at line 592 of file VolumeMeshSelectionPlugin.cc.
|
privatevirtual |
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.
_event | The mouse event that currently is performed |
_maxAngle | The maximum angle used for flood filling |
_currentType | The currently active primitive type |
_deselect | True if entities should be deselected |
Reimplemented from SelectionInterface.
Definition at line 505 of file VolumeMeshSelectionPlugin.cc.
|
privatevirtual |
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.
_key | The pressed key |
_modifiers | Indicates whether mod-keys have been pressed synchronously |
Reimplemented from SelectionInterface.
Definition at line 951 of file VolumeMeshSelectionPlugin.cc.
|
privatevirtual |
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.
_file | The file from which one can read the selection data |
Reimplemented from SelectionInterface.
Definition at line 883 of file VolumeMeshSelectionPlugin.cc.
|
privatevirtual |
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().
_file | The file into which one can store selection data |
Reimplemented from SelectionInterface.
Definition at line 927 of file VolumeMeshSelectionPlugin.cc.
|
privatevirtual |
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.
_operation | The identifier of the operation just as registered via addSelectionOperations |
Reimplemented from SelectionInterface.
Definition at line 228 of file VolumeMeshSelectionPlugin.cc.
|
privatevirtual |
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.
_event | The mouse event that occurred |
_currentType | The currently active primitive type |
_deselect | True if entities should be deselected |
Reimplemented from SelectionInterface.
Definition at line 343 of file VolumeMeshSelectionPlugin.cc.
|
privatevirtual |
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.
_event | The mouse event that currently is performed |
_currentType | The currently active primitive type |
_deselect | True if entities should be deselected |
Reimplemented from SelectionInterface.
Definition at line 476 of file VolumeMeshSelectionPlugin.cc.
|
private |
Surface volume selection tool.
Select all primitives that are entirely projected to the given region.
_mesh | a mesh |
_state | current gl state |
_region | region |
_primitiveType | primitive types to be selected |
_deselection | true, if entities should be deselected |
Definition at line 67 of file VolumeMeshSelectionPluginT.cc.