57 #ifndef SPLATCLOUDOBJECTSELECTIONPLUGIN_HH 58 #define SPLATCLOUDOBJECTSELECTIONPLUGIN_HH 71 #include <OpenFlipper/BasePlugin/INIInterface.hh> 77 #include <OpenFlipper/INIFile/INIFile.hh> 97 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-SelectionSplatCloudObject")
109 void updatedObject(
int _objectId,
const UpdateType& _type );
110 void nodeVisibilityChanged(
int _objectId );
111 void setSlotDescription( QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions );
117 void log( QString _message );
118 void log(
Logtype _type, QString _message );
121 void addSelectionEnvironment( QString _modeName, QString _description, QString _icon, QString &_handleName );
122 void registerType( QString _handleName,
DataType _type );
123 void addPrimitiveType( QString _handleName, QString _name, QString _icon, SelectionInterface::PrimitiveType &_typeHandle );
124 void addSelectionOperations( QString _handleName, QStringList _operationsList, QString _category, SelectionInterface::PrimitiveType _type = 0u );
126 void showToggleSelectionMode ( QString _handleName,
bool _show, SelectionInterface::PrimitiveType _associatedTypes );
127 void showSphereSelectionMode ( QString _handleName,
bool _show, SelectionInterface::PrimitiveType _associatedTypes );
128 void showLassoSelectionMode ( QString _handleName,
bool _show, SelectionInterface::PrimitiveType _associatedTypes );
129 void showVolumeLassoSelectionMode( QString _handleName,
bool _show, SelectionInterface::PrimitiveType _associatedTypes );
131 void getActiveDataTypes( SelectionInterface::TypeList &_types );
132 void getActivePrimitiveType( SelectionInterface::PrimitiveType &_type );
133 void targetObjectsOnly(
bool &_targetsOnly );
135 void registerKeyShortcut(
int _key, Qt::KeyboardModifiers _modifiers = Qt::NoModifier );
138 void deleteObject(
int _objectId );
141 void scriptInfo( QString _functionName );
146 void loadSelection(
int _objectId,
const QString &_filename );
151 void loadIniFile(
INIFile &_ini,
int _objectId );
152 void saveIniFile(
INIFile &_ini,
int _objectId );
155 void initializePlugin();
156 void pluginsInitialized();
157 void noguiSupported() { };
162 void slotToggleSelection ( QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType,
bool _deselect );
163 void slotSphereSelection ( QMouseEvent *_event,
double _radius, SelectionInterface::PrimitiveType _currentType,
bool _deselect );
164 void slotLassoSelection ( QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType,
bool _deselect );
165 void slotVolumeLassoSelection( QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType,
bool _deselect );
175 QString
name() {
return QString( tr(
"SplatCloud Object Selection" ) ); }
176 QString
description() {
return QString( tr(
"Allows to select parts of SplatCloud Objects") ); }
202 QString version() {
return QString(
"1.0" ); }
205 bool vertexTypeActive()
207 SelectionInterface::PrimitiveType t;
208 emit getActivePrimitiveType( t );
233 void lassoSelect( QRegion &_region, PrimitiveType _primitiveType,
bool _deselection );
279 deselection_( _deselection )
299 #endif // SPLATCLOUDOBJECTSELECTIONPLUGIN_HH
QString description()
Return a description of what the plugin is doing.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
SelectionInterface::PrimitiveType allSupportedTypes_
Primitive type handle.
QPolygon lasso_2Dpoints_
Used for lasso selection tool.
SelectionInterface::PrimitiveType vertexType_
Primitive type handle.
QString environmentHandle_
Handle to selection environment.
SplatCloudObjectSelectionPlugin()
Default constructor.
void splatCloudColorizeSelection(SplatCloud *_splatCloud, PrimitiveType _primitiveTypes, int _r, int _g, int _b, int _a)
Colorize the selection.
Logtype
Log types for Message Window.
void setColorForSelection(const int _objectId, const PrimitiveType _primitiveType)
Set color for selection.
void splatCloudSphereSelection(SplatCloud *_splatCloud, uint _index, ACG::Vec3d &_hit_point, double _radius, PrimitiveType _primitiveTypes, bool _deselection)
Use the event to paint selection with a sphere.
Interface for all Plugins which do logging to the logging window of the framework.
void deleteVertexSelection(int _objectId)
Delete vertices that are currently selected.
void colorizeVertexSelection(int _objectId, int _r, int _g, int _b, int _a)
Colorize the vertex selection.
void selectAllVertices(int _objectId)
Select all vertices.
QVector< QPoint > volumeLassoPoints_
Used for volume lasso tool.
std::vector< int > IdList
Standard Type for id Lists used for scripting.
void invertVertexSelection(int _objectId)
Invert the current vertex selection.
void slotKeyShortcutEvent(int _key, Qt::KeyboardModifiers _modifiers)
One of the previously registered keys has been pressed.
void slotSphereSelection(QMouseEvent *_event, double _radius, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a sphere selection.
void slotVolumeLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a volume lasso selection.
IdList getVertexSelection(int _objectId)
Return a list of all selected vertices.
void splatCloudToggleSelection(SplatCloud *_splatCloud, uint _index, ACG::Vec3d &_hit_point, PrimitiveType _primitiveType)
Toggle SplatCloud selection.
Interface for all plugins which want to use selection functions.
void selectVertices(int _objectId, IdList _vertexList)
Select given vertices.
bool splatCloudDeleteSelection(SplatCloud *_splatCloud, PrimitiveType _primitiveType)
Delete all selected elements of a SplatCloud.
void lassoSelect(QRegion &_region, PrimitiveType _primitiveType, bool _deselection)
Lasso selection tool.
void unselectVertices(int _objectId, IdList _vertexList)
Unselect given vertices.
Keyboard Event Interface.
Interface class for Plugins which have to store information in ini files.
QString name()
Return a name for the plugin.
void clearVertexSelection(int _objectId)
Unselect all vertices.
Class for the handling of simple configuration files.
void slotLoadSelection(const INIFile &_file)
Load selection for specific objects in the scene.
void updateSlotDescriptions()
Set descriptions for local public slots.
void slotSelectionOperation(QString _operation)
A specific operation is requested.
Interface for all Plugins which provide scriptable Functions.
void slotLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a lasso selection.
void slotToggleSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a toggle selection.
Interface class from which all plugins have to be created.
Interface class for backup handling.
bool splatCloudVolumeSelection(SplatCloud *_splatCloud, ACG::GLState &_state, QRegion *_region, PrimitiveType _primitiveTypes, bool _deselection)
Surface volume selection tool.
Traverse the scenegraph and call the selection function for all mesh nodes.
Interface for all plugins which want to Load or Save files and create Objects.
void slotSaveSelection(INIFile &_file)
Save selection for all objects in the scene.