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 Interface class for Plugins which have to store information in ini files.
void slotKeyShortcutEvent(int _key, Qt::KeyboardModifiers _modifiers)
One of the previously registered keys has been pressed.
void slotLoadSelection(const INIFile &_file)
Load selection for specific objects in the scene.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
void invertVertexSelection(int _objectId)
Invert the current vertex selection.
void lassoSelect(QRegion &_region, PrimitiveType _primitiveType, bool _deselection)
Lasso selection tool.
bool splatCloudVolumeSelection(SplatCloud *_splatCloud, ACG::GLState &_state, QRegion *_region, PrimitiveType _primitiveTypes, bool _deselection)
Surface volume selection tool.
Logtype
Log types for Message Window.
QString environmentHandle_
Handle to selection environment.
Interface for all plugins which want to Load or Save files and create Objects.
void setColorForSelection(const int _objectId, const PrimitiveType _primitiveType)
Set color for selection.
void unselectVertices(int _objectId, IdList _vertexList)
Unselect given vertices.
Interface for all Plugins which provide scriptable Functions.
QString name()
Return a name for the plugin.
void updateSlotDescriptions()
Set descriptions for local public slots.
QVector< QPoint > volumeLassoPoints_
Used for volume lasso tool.
SplatCloudObjectSelectionPlugin()
Default constructor.
SelectionInterface::PrimitiveType allSupportedTypes_
Primitive type handle.
Interface for all Plugins which do logging to the logging window of the framework.
bool splatCloudDeleteSelection(SplatCloud *_splatCloud, PrimitiveType _primitiveType)
Delete all selected elements of a SplatCloud.
void selectAllVertices(int _objectId)
Select all vertices.
void slotToggleSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a toggle selection.
void deleteVertexSelection(int _objectId)
Delete vertices that are currently selected.
void slotVolumeLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a volume lasso selection.
void slotLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a lasso selection.
void splatCloudColorizeSelection(SplatCloud *_splatCloud, PrimitiveType _primitiveTypes, int _r, int _g, int _b, int _a)
Colorize the selection.
IdList getVertexSelection(int _objectId)
Return a list of all selected vertices.
void slotSaveSelection(INIFile &_file)
Save selection for all objects in the scene.
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.
std::vector< int > IdList
Standard Type for id Lists used for scripting.
void selectVertices(int _objectId, IdList _vertexList)
Select given vertices.
void slotSphereSelection(QMouseEvent *_event, double _radius, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a sphere selection.
Interface class from which all plugins have to be created.
void splatCloudToggleSelection(SplatCloud *_splatCloud, uint _index, ACG::Vec3d &_hit_point, PrimitiveType _primitiveType)
Toggle SplatCloud selection.
void slotSelectionOperation(QString _operation)
A specific operation is requested.
Keyboard Event Interface.
Interface for all plugins which want to use selection functions.
Traverse the scenegraph and call the selection function for all mesh nodes.
void colorizeVertexSelection(int _objectId, int _r, int _g, int _b, int _a)
Colorize the vertex selection.
void clearVertexSelection(int _objectId)
Unselect all vertices.
QString description()
Return a description of what the plugin is doing.
SelectionInterface::PrimitiveType vertexType_
Primitive type handle.
Interface class for backup handling.
QPolygon lasso_2Dpoints_
Used for lasso selection tool.
Class for the handling of simple configuration files.