50#ifndef BSPLINECURVESELECTIONPLUGIN_HH
51#define BSPLINECURVESELECTIONPLUGIN_HH
62#include <OpenFlipper/BasePlugin/INIInterface.hh>
67#include <OpenFlipper/INIFile/INIFile.hh>
83 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-SelectionBSplineCurve")
98 void nodeVisibilityChanged(
int _identifier);
99 void setSlotDescription(QString _slotName, QString _slotDescription,
100 QStringList _parameters, QStringList _descriptions);
106 void log(
Logtype _type, QString _message);
107 void log(QString _message);
110 void scriptInfo(QString _functionName);
113 void addSelectionEnvironment(QString _modeName, QString _description, QString _icon, QString& _handleName);
114 void registerType(QString _handleName,
DataType _type);
115 void addPrimitiveType(QString _handleName, QString _name, QString _icon, SelectionInterface::PrimitiveType& _typeHandle);
116 void addSelectionOperations(QString _handleName, QStringList _operationsList, QString _category, SelectionInterface::PrimitiveType _type = 0u);
117 void showToggleSelectionMode(QString _handleName,
bool _show, SelectionInterface::PrimitiveType _associatedTypes);
118 void showVolumeLassoSelectionMode(QString _handleName,
bool _show, SelectionInterface::PrimitiveType _associatedTypes);
120 void getActiveDataTypes(SelectionInterface::TypeList& _types);
121 void getActivePrimitiveType(SelectionInterface::PrimitiveType& _type);
122 void targetObjectsOnly(
bool& _targetsOnly);
124 void registerKeyShortcut(
int _key, Qt::KeyboardModifiers _modifiers = Qt::NoModifier);
129 void loadIniFile(
INIFile& _ini,
int _id);
130 void saveIniFile(
INIFile& _ini,
int _id);
133 void initializePlugin();
134 void pluginsInitialized();
135 void noguiSupported() {};
139 void slotToggleSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
150 void loadSelection(
int _objId,
const QString& _filename);
156 return (QString(tr(
"BSplineCurve Selection")));
160 return (QString(tr(
"Allows to select B-Spline curves")));
182 return QString(
"1.0");
std::vector< int > IdList
Standard Type for id Lists used for scripting.
Logtype
Log types for Message Window.
void deselectAllControlPoints(int _objectId)
Deselect all control points of a curve.
void slotKeyShortcutEvent(int _key, Qt::KeyboardModifiers _modifiers)
One of the previously registered keys has been pressed.
unsigned int knotType_
Handle to selection environment.
IdList getKnotSelection(int _objectId)
Get current knot selection.
void invertKnotSelection(int _objectId)
Invert knot selection.
void selectControlPoints(int _objectId, const IdList &_ids, bool _deselect=false)
Select specific control points of a curve.
void selectAllControlPoints(int _objectId)
Select all control points of a curve.
QString environmentHandle_
Handle to selection environment.
void slotSaveSelection(INIFile &_file)
Save selection for all objects in the scene.
unsigned int controlPointType_
Primitive type handles:
~BSplineCurveSelectionPlugin()
Default destructor.
void deleteSelectedControlPoints(int _objectId)
Delete selected control points.
void invertControlPointSelection(int _objectId)
Invert control point selection.
IdList getControlPointSelection(int _objectId)
Get current control point selection.
void updateSlotDescriptions()
Set slot descriptions for scripting functions.
BSplineCurveSelectionPlugin()
Default constructor.
void deleteSelectedKnots(int _objectId)
Delete selected knots.
void slotToggleSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a toggle selection.
void slotVolumeLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a volume lasso selection.
void selectAllKnots(int _objectId)
Select all knots of a curve.
QString name()
Return a name for the plugin.
void deselectAllKnots(int _objectId)
Deselect all knots of a curve.
unsigned int allSupportedTypes_
Handle to selection environment.
void slotSelectionOperation(QString _operation)
A specific operation is requested.
void selectKnots(int _objectId, const IdList &_ids, bool _deselect=false)
Select specific knots of a curve.
QString description()
Return a description of what the plugin is doing.
QVector< QPoint > volumeLassoPoints_
Keep volume lasso points.
SelectionViewMode
Change selection view mode for every B-spline curve in the scene.
void setSelectionViewMode(const SelectionViewMode _mode)
Change selection view mode for every B-spline curve in the scene.
void slotLoadSelection(const INIFile &_file)
Load selection for specific objects in the scene.
Interface class for backup handling.
Interface class from which all plugins have to be created.
Class for the handling of simple configuration files.
Interface class for Plugins which have to store information in ini files.
Keyboard Event Interface.
Interface for all Plugins which do logging to the logging window of the framework.
Interface for all Plugins which provide scriptable Functions.
Interface for all plugins which want to use selection functions.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.