64#include <OpenFlipper/widgets/glWidget/QtBaseViewer.hh>
70#include <QStackedWidget>
71#include <QSplashScreen>
75#include <QProgressDialog>
77#if QT_VERSION_MAJOR < 6
78#include <QtScript/QScriptEngine>
79#include <QtScript/QtScript>
82#include "OpenFlipper/Logging/PluginLogging.hh"
83#include "OpenFlipper/Scripting/ScriptingWrapper.hh"
86#include "OpenFlipper/Scripting/scriptPrototypes/prototypeVec3d.hh"
87#include "OpenFlipper/Scripting/scriptPrototypes/prototypeVec4d.hh"
88#include "OpenFlipper/Scripting/scriptPrototypes/prototypeMatrix4x4.hh"
89#include "OpenFlipper/Scripting/scriptPrototypes/prototypeDataType.hh"
90#include <OpenFlipper/Scripting/scriptWrappers/vec3dWrapper.hh>
91#include <OpenFlipper/Scripting/scriptWrappers/vec4dWrapper.hh>
92#include <OpenFlipper/Scripting/scriptWrappers/matrix4x4Wrapper.hh>
93#include <OpenFlipper/Scripting/scriptWrappers/DataTypeWrapper.hh>
108#include <OpenFlipper/widgets/processManagerWidget/processManagerWidget.hh>
112#include <OpenFlipper/Core/PluginInfo.hh>
114#include <ACG/Scenegraph/CoordsysNode.hh>
116#include <OpenFlipper/threads/JobInfo.hh>
118#include <OpenFlipper/common/InformationPlugins.hh>
119#include "SpinBoxEventFilter.hh"
205 void addMultiTexture( QString _textureGroup , QString _name , QString _filename ,
int _id ,
int& _textureId );
208 void addMultiTexture( QString _textureGroup , QString _name , QImage _image ,
int _id ,
int& _textureId );
250 void textureName(
int _id,
int _textureIndex, QString& _textureName);
259 void getSubTextures(
int _id, QString _multiTextureName, QStringList& _subTextures );
268 void addPrimitiveType(QString _handleName, QString _name, QString _icon, SelectionInterface::PrimitiveType& _typeHandle);
272 SelectionInterface::PrimitiveType _associatedTypes, QString& _customIdentifier);
274 SelectionInterface::PrimitiveType _associatedTypes, QString& _customIdentifier,
278 void addSelectionOperations(QString _handleName, QStringList _operationsList, QString _category, SelectionInterface::PrimitiveType _type);
281 void addSelectionParameters(QString _handleName, QWidget* _widget, QString _category, SelectionInterface::PrimitiveType _type);
311 void toggleSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
314 void lassoSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
317 void volumeLassoSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
323 void sphereSelection(QMouseEvent* _event,
double _radius, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
329 void floodFillSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
332 void componentsSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
335 void customSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType, QString _customIdentifier,
bool _deselect);
441 void slotAddTexture( QString _textureName , QString _filename , uint _dimension ,
int _id );
444 void slotAddTexture( QString _textureName , QImage _image , uint _dimension ,
int _id );
447 void slotAddTexture( QString _textureName , QString _filename , uint _dimension );
450 void slotAddTexture( QString _textureName , QImage _image , uint _dimension );
453 void slotMultiTextureAdded( QString _textureGroup , QString _name , QString _filename ,
int _id ,
int& _textureId );
454 void slotMultiTextureAdded(
const QString &_textureGroup ,
const QString &_name ,
const QString &_filename ,
int _id ,
int* _textureId );
457 void slotMultiTextureAdded( QString _textureGroup , QString _name , QImage _image ,
int _id ,
int& _textureId );
499 void slotTextureName(
int _id,
int _textureIndex, QString& _textureName);
508 void slotGetSubTextures(
int _id,
const QString &_multiTextureName, QStringList& _subTextures );
523 void slotAddSelectionEnvironment(
const QString &_modeName,
const QString &_description,
const QString &_icon, QString &_handleName);
529 void slotAddPrimitiveType(
const QString &_handleName,
const QString &_name,
const QString &_icon, SelectionInterface::PrimitiveType& _typeHandle);
540 void slotAddCustomSelectionMode(
const QString &_handleName,
const QString &_modeName,
const QString &_description,
const QString &_icon,
541 SelectionInterface::PrimitiveType _associatedTypes, QString& _customIdentifier);
553 void slotAddCustomSelectionMode(
const QString &_handleName,
const QString &_modeName,
const QString &_description,
const QString &_icon,
554 SelectionInterface::PrimitiveType _associatedTypes, QString& _customIdentifier,
558 void slotAddSelectionOperations(
const QString &_handleName,
const QStringList &_operationsList,
const QString &_category, SelectionInterface::PrimitiveType _type);
561 void slotAddSelectionParameters(
const QString &_handleName, QWidget* _widget,
const QString &_category, SelectionInterface::PrimitiveType _type);
591 void slotToggleSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
594 void slotLassoSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
603 void slotSphereSelection(QMouseEvent* _event,
double _radius, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
609 void slotFloodFillSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
612 void slotComponentsSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
615 void slotCustomSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
const QString &_customIdentifier,
bool _deselect);
652 void slotCrossPluginConnect(
const QString &_pluginName1,
const char* _signal,
const QString &_pluginName2,
const char* _slot);
735 void snapshot(
unsigned int _viewerId = 0,
int _width = 0,
int _height = 0,
bool _alpha =
false,
bool _hideCoordsys =
false,
int _numSamples = 1);
748 bool comments_visible_only,
bool comments_targeted_only,
749 bool store_material_info,
int snapshot_width,
int snapshot_height,
750 bool snapshot_transparent,
bool hide_coord_sys,
751 int snapshot_multisampling,
bool store_view);
763 QList<int>
objectList (QString _selection, QStringList _types);
925 void startVideoCapture(
const QString &_baseName,
int _fps,
bool _captureViewers);
952 bool saveObject(
int _id, QString _filename );
954 void saveObject(
int _id, QString _filename,
int _pluginID );
976 void saveSettings(QString filePath,
bool is_saveObjectInfo,
bool is_targetOnly,
bool is_saveAll,
977 bool is_askOverwrite,
bool is_saveProgramSettings,
bool is_savePluginSettings);
1017 void slotWheelEvent( QWheelEvent * _event,
const std::string & _mode);
1044 void addToolbox(
const QString &_name , QWidget* _widget);
1047 void addToolbox(
const QString &_name , QWidget* _widget, QIcon* _icon);
1050 void addToolbox(QString _name ,QWidget* _widget, QIcon* _icon,
1051 QWidget* _headerAreaWidget);
1060 QWidget *
getToolbox(
const QString &_pluginName,
const QString &_toolboxName);
1068 void activateToolbox(QString _pluginName, QString _toolboxName,
bool activate);
1141 bool _coreSettings ,
1142 bool _perPluginSettings,
1143 bool _loadObjects );
1160 bool _relativePaths,
1162 bool _saveSystemSettings,
1163 bool _savePluginSettings ,
1164 bool _saveObjectInfo,
1165 std::map<int,QString>& _fileMapping);
1171 void writeObjFile(QString _filename,
bool _relativePaths,
bool _targetOnly, std::map<int,QString>& _fileMapping);
1225 bool checkSlot(QObject* _plugin ,
const char* _slotSignature);
1228 bool checkSignal(QObject* _plugin ,
const char* _signalSignature);
1238 std::vector<PluginInfo>&
plugins();
1256 void loadPlugin(
const QString& _filename,
const bool _silent, QString& _licenseErrors , QObject* _plugin = 0 );
1274 void genericMetadataDeserialized(QString key, QString value);
1275 void objectMetadataDeserialized(QString object_name, QString value);
1276 void objectMetadataDeserializedJson(
1277 QString object_name, QJsonDocument value);
1280 void slotMetadataDeserialized(
const QVector<QPair<QString, QString> > &data);
1299 QStringList _parameters, QStringList _descriptions);
1309 void createWidget(
const QString &_objectName,
const QString &_uiFilename,
bool _show =
true);
1341#if QT_VERSION_MAJOR < 6
1354#if QT_VERSION_MAJOR < 6
1369 void slotScriptInfo(
const QString &_pluginName ,
const QString &_functionName );
1403 QStringList _parameters, QStringList _descriptions);
1407 QStringList _parameters, QStringList _descriptions);
1409#if QT_VERSION_MAJOR < 6
1419 QStringList& _parameters, QStringList& _descriptions );
1449 void slotFunctionExists(
const QString &_pluginName ,
const QString &_functionName ,
bool& _exists );
1451 #if QT_VERSION_MAJOR < 6
1458 void slotCall(
const QString &_pluginName ,
const QString &_functionName ,
bool& _success );
1466 void slotCall(
const QString &_expression ,
bool& _success );
1482 slotCall(
"var tmpValue=" + _expression +
";", ok);
1485 _result = QVariant();
1490 QScriptValue val =
scriptEngine_.globalObject().property(
"tmpValue");
1495 _result = val.toVariant();
1508 void slotExecutePythonScript(
const QString &_script);
1511 void slotOpenPythonScriptInEditor( QString _script);
1548 bool getJob(QString _jobId,
int& _index);
1553 void slotStartJob( QString _jobId, QString _description ,
int _min ,
int _max,
bool _blocking );
1630 void hookUpEventFilter(QWidget *widget);
1671#if QT_VERSION_MAJOR < 6
1674QScriptValue
myPrintFunction(QScriptContext *context, QScriptEngine *engine);
1680QScriptValue
helpFunction(QScriptContext *context, QScriptEngine *engine);
QScriptValue printToFileFunction(QScriptContext *context, QScriptEngine *engine)
Special print function for sending output to a file.
QScriptValue helpFunction(QScriptContext *context, QScriptEngine *engine)
Function to print help about scripting functions.
QScriptValue myPrintFunction(QScriptContext *context, QScriptEngine *engine)
Special print function for core logger.
std::vector< int > IdList
Standard Type for id Lists used for scripting.
Logtype
Log types for Message Window.
void textureIndex(QString _textureName, int _id, int &_index)
get the texture index
void showStatusBar(bool _state)
Show or hide Status Bar.
void setSlotDescription(QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions)
Core scripting engine.
prototypeDataType DataTypePrototype_
Prototype for the DataType.
void slotCrossPluginConnectQueued(const QString &_pluginName1, const char *_signal, const QString &_pluginName2, const char *_slot)
Called to create inter plugin connections.
void slotTextureIndexPropertyName(int _id, QString &_propertyName)
Called by plugins if texture index property name should be fetched.
void slotGetAllFilters(QStringList &_list)
Called when a plugin requests a list of file-filters.
void slotGetAllAvailableFunctions(QStringList &_functions)
Core scripting engine.
void executeFileScript(QString _filename)
Core scripting engine.
void addViewModeToolbars(QString _modeName, QString _toolbarList)
Scripting function to set toolbars in a view mode.
void undo()
Signal send to plugins when whole scene is cleared.
void updateTexture(QString, int)
Tell the plugins to update the given texture.
void keyShortcutEvent(int _key, Qt::KeyboardModifiers _modifiers=Qt::NoModifier)
SelectionInterface: This signal is emitted when a key shortcut has been pressed.
void clearAll()
Clear all data objects.
void updatedTextures(QString, int)
This Signal is send to the plugins if a texture has been updated.
bool saveObjectTo(int _id, QString _filename)
void addTexture(QString, QString, uint, int)
The texture with the given name and filename has been added.
void saveSelection(INIFile &_file)
SelectionInterface: This signal is emitted when a selection should be written into a file.
void targetObjectsOnly(bool &_targetsOnly)
SelectionInterface: This signal is emitted if the current target restriction state is requested.
void commandLineOpen(const QString &_filename, bool _asPolyMesh)
Load an object from the commandline on application start.
void deletedObject(int _objectId)
This slot is called by the object manager when an object is deleted.
void pluginSceneDrawn()
This signal is emitted after the scene has been drawn.
void slotAddTexture(QString _textureName, QString _filename, uint _dimension, int _id)
Called by a plugin if it creates a texture.
void applyOptions()
after ini-files have been loaded and core is up or if options have been changed -> apply Options
void PluginMouseEventLight(QMouseEvent *)
Emitted when an light event occurs.
void addViewModeToolboxes(QString _modeName, QString _toolboxList)
Scripting function to set toolboxes in a view mode.
void slotMouseEvent(QMouseEvent *_event)
Gets called by examiner widget when mouse is moved in picking mode.
void slotAddSelectionOperations(const QString &_handleName, const QStringList &_operationsList, const QString &_category, SelectionInterface::PrimitiveType _type)
SelectionInterface: Called in order to add non-interactive operations for a specific primitive type.
void showToolbox(bool _state)
Show or hide toolbox.
void slotObjectPropertiesChanged(int _id)
Called by plugins if object properties like names have changed.
void addTexture(QString, QImage, uint, int)
The texture with the given name and image has been added.
void slotTextureName(int _id, int _textureIndex, QString &_textureName)
Called by plugins if texture name should be fetched.
void showToggleSelectionMode(QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: This signal is emitted when standard toggle selection is required.
void slotSetJobName(QString _jobId, QString _name)
A job's widget caption has been updated by a plugin.
BaseObject * objectRoot_
Pointer to the data rootNode;.
void switchTexture(QString, int)
Switch Texture Plugins to a given Mode.
void saveSettings()
Save current status to a settings file. Solicit file name through dialog.
void componentsSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: This signal is emitted when standard connected components selection has been perf...
void slotWheelEvent(QWheelEvent *_event, const std::string &_mode)
Gets called by examiner widget when Wheel is moved in picking mode.
void setDescriptions()
set the descriptions for scriptable slots of the core
void slotCall(const QString &_pluginName, const QString &_functionName, bool &_success)
QWidget * getToolbox(const QString &_pluginName, const QString &_toolboxName)
void allCleared()
Signal send to plugins when whole scene is cleared.
void slotFunctionExists(const QString &_pluginName, const QString &_functionName, bool &_exists)
Check if a function exists.
void createBackup(IdList _objectids, QString _name, std::vector< UpdateType > _types)
Signal send to plugins when whole scene is cleared.
bool add_sync_host(const QString &_name)
Synchronise two viewers.
void slotShowFloodFillSelectionMode(const QString &_handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: Provide flood fill selection operation for specific selection mode.
void addSelectionEnvironment(QString _modeName, QString _description, QString _icon, QString &_handleName)
SelectionInterface: This signal is emitted when a new toolbutton should be added.
void PluginMouseEvent(QMouseEvent *)
When this Signal is emitted when a Mouse Event occures.
void slotTextureUpdated(const QString &_textureName, int _identifier)
A Texture has been updated.
void slotShowLassoSelectionMode(const QString &_handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: Provide lasso selection operation for specific selection mode.
SeparatorNode * core_nodes_
Separator Node holding all core scenegraph nodes.
void iniLoadOptionsLast(INIFile &_ini)
This signal is used to tell the plugins to load their new status after objects are loaded.
void slotShowComponentsSelectionMode(const QString &_handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: Provide connected components selection operation for specific selection mode.
void setToolBoxSide(QString _side)
Scripting function to set the side of the main window on which the toolbox should be displayed.
void slotKeyShortcutEvent(int _key, Qt::KeyboardModifiers _modifiers)
SelectionInterface: Called when a key event occurred.
void snapshotBaseFileName(QString _fname, unsigned int _viewerId=0)
void log(QString _message)
Default logging as OUT.
void resizeApplication(int _width, int _height)
resize the whole Application
void addSelectionOperations(QString _handleName, QStringList _operationsList, QString _category, SelectionInterface::PrimitiveType _type)
SelectionInterface: This signal is used to add non-interactive operations for a specific primitive ty...
void showVolumeLassoSelectionMode(QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: This signal is emitted when standard volume lasso selection is required.
int lastWidth_
Slot called everytime the view is updated.
void emptyObjectAdded(int _id)
Tell the plugins that an empty object has been added.
void slotShowClosestBoundarySelectionMode(const QString &_handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: Provide closest boundary selection operation for specific selection mode.
void checkScenegraphDirty()
Called to check if the scenegraph needs to be redrawn.
void selectionOperation(QString _operation)
SelectionInterface: This signal is emitted when a non-interactive operation has been performed.
bool saveObjectsTo(IdList _ids, QString _filename)
void printPluginLoadLog(const QString &errors, const QString &warnings)
Print all info collected about plugin during loading.
void addViewModeContextMenus(QString _modeName, QString _contextMenuList)
Scripting function to set context menus in a view mode.
void setViewAndWindowGeometry(QString view)
Called when a plugin requests an update in the viewer.
void iniSaveOptions(INIFile &_ini)
This signal is used to tell the plugins to save their current status.
void resizeViewers(int _width, int _height)
resize the examinerViewer
void updateAllTextures()
Update all textures in the plugins.
void slotScriptError(const QScriptValue &error)
Core scripting engine.
void captureVideo()
Function called for every frame when capturing video.
void undo(int _objectid)
Tell backup-plugin to undo/redo.
void clearAllComments(int objId)
Called when a plugin requests an update in the viewer.
void deserializeMaterialProperties(int _objId, QString _props)
Serialize material properties.
void saveAllObjectsTo()
Slot for saving objects to a new location.
void blockSceneGraphUpdates()
Block the scenegraph updates.
void addViewModeIcon(QString _modeName, QString _iconName)
Scripting function to set an icon for a view mode.
void slotAddPrimitiveType(const QString &_handleName, const QString &_name, const QString &_icon, SelectionInterface::PrimitiveType &_typeHandle)
SelectionInterface: Called when a new, non-standard primitive type should be handled.
void setupOptions()
Get all ini files and set basic paths and options.
void textureName(int _id, int _textureIndex, QString &_textureName)
get the texture name
void commandLineScript(const QString &_filename)
Load a script from the commandline on application start.
void fullscreen(bool _state)
set fullscreen mode
void saveAllObjects()
Slot for saving objects from Menu.
void slotExecuteScript(const QString &_script)
void scriptLog(QString _message)
Logging signal for ScriptEngine.
void slotGetDescription(QString _function, QString &_fnDescription, QStringList &_parameters, QStringList &_descriptions)
get available descriptions for a given public slot
void addSelectionParameters(QString _handleName, QWidget *_widget, QString _category, SelectionInterface::PrimitiveType _type)
SelectionInterface: This signal is used to add interactive selection parameters for a specific primit...
void showReducedMenuBar(bool reduced)
Core scripting engine.
void slotAddEmptyObjectMenu()
Open the add Empty dialog.
void loadPlugins()
Load all plugins from default plugin directory and from INI-File.
void slotGenerateBackup(int _id, QString _name, UpdateType _type)
Slot for generating type specific backups.
std::vector< dataTypes > supportedDataTypes_
Type-Plugins.
void openedFile(int _id)
Tell the plugins that a file has been opened ( -> Database)
void slotShowSurfaceLassoSelectionMode(const QString &_handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: Provide surface lasso selection operation for specific selection mode.
void scriptInfo(QString _pluginName, QString _functionName)
Core scripting engine.
void showComponentsSelectionMode(QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: This signal is emitted when standard connected components selection is required.
ACG::SceneGraph::MaterialNode * coordsysMaterialNode_
Node for coordsys Material.
void getActivePrimitiveType(SelectionInterface::PrimitiveType &_type)
SelectionInterface: This signal is emitted when the active (selected) primitive type should be fetche...
QElapsedTimer * redrawTime_
Holds the time since last redraw.
void slotMultiTextureAdded(QString _textureGroup, QString _name, QString _filename, int _id, int &_textureId)
Called by a plugin if it creates a multitexture.
ACG::SceneGraph::CoordsysNode * coordsysNode_
Node for the coordinate system.
QStringList scriptingFunctions_
List of all registered scripting functions.
void slotSetTextureMode(const QString &_textureName, const QString &_mode, int _id)
A texture mode should be changed.
SeparatorNode * dataRootNode_
Root Node for data objects.
void moveToolBoxToBottom(QString _name)
Move selected toolbox to bottom of side area.
void writeApplicationOptions(INIFile &_ini)
Write Application options to ini file.
void exitFailure()
Aborts the application with an error code.
void customSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, QString _customIdentifier, bool _deselect)
SelectionInterface: This signal is emitted when a custom selection operation has been performed.
void slotLoadPlugin()
Load Plugins from menu.
void snapshotFileType(QString _type, unsigned int _viewerId=0)
Set the file type for snapshots.
std::vector< ScriptingWrapper * > scriptingWrappers_
Wrappers for plugin scripting.
void slotLog(Logtype _type, QString _message)
Console logger.
void slotTextureIndex(const QString &_textureName, int _id, int &_index)
Called by plugins if texture index should be fetched.
void slotComponentsSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: Called when connected components selection operation has been performed.
void pluginsInitialized()
Called after all plugins are loaded.
void saveOnExit(INIFile &_ini)
This signal is emitted before the core deletes its data and exits.
void showSurfaceLassoSelectionMode(QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: This signal is emitted when standard surface lasso selection is required.
void visibilityChanged(int _id)
Tell plugins that the visibility of an object has changed.
void slotCopyObject(int _oldId, int &_newId)
Slot copying an object.
void setTextureMode(QString _textureName, QString _mode)
A texture mode should be changed.
void slotFloodFillSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: Called when flood fill selection operation has been performed.
void redo()
Signal send to plugins when whole scene is cleared.
void executeScript(QString _script)
Core scripting engine.
void addToolbox(const QString &_name, QWidget *_widget)
Add a Toolbox from a plugin or from scripting.
void slotLoadSelection(const INIFile &_file)
SelectionInterface: Called when a selection should be loaded from a file.
void slotEmptyObjectAdded(int _id)
Called when an empty object has been Added.
void slotRegisterKeyShortcut(int _key, Qt::KeyboardModifiers _modifiers)
SelectionInterface: Called when a key shortcut is to be registered.
void addCustomSelectionMode(QString _handleName, QString _modeName, QString _description, QString _icon, SelectionInterface::PrimitiveType _associatedTypes, QString &_customIdentifier)
SelectionInterface: This signal is emitted when a custom selection mode is added.
void slotFinishJob(QString _jobId)
A job state has been finished by a plugin.
void slotUpdateAllTextures()
Update all textures in the plugins.
QTimer * redrawTimer_
If enabled, this timer will block screen refresh if done more then 30 times per second.
void loadObject()
Open Load Widget.
void slotGetActiveDataTypes(SelectionInterface::TypeList &_types)
SelectionInterface: Called when active (selected) data types should be fetched.
void writeOnExit()
Called if app is closed and writes all information to ini file.
void slotLogToFile(Logtype _type, QString _message)
log to file
void restrictFrameRate(bool _enable)
Enable or disable framerate restriction.
QVector< ViewMode * > viewModes_
List of available draw modes.
prototypeVec4d vec4dPrototype_
Prototype for the Vector type.
void slotToggleSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: Called when toggle selection operation has been performed.
QTimer * scenegraphCheckTimer_
Timer that starts scenegraph check.
std::vector< std::pair< QString, bool > > commandLineFileNames_
Vector storing filenames from commandline to be opened after application startup (objects)
void slotSelectionOperation(const QString &_operation)
SelectionInterface: Called when a non-interactive operation has been performed.
void setToolBoxActive(QString _toolBoxName, bool _active)
Scripting function to activate or deactivate a toolbox.
void slotShowScriptInEditor(const QString &_filename)
int captureType_
Slot called everytime the view is updated.
bool checkSlot(QObject *_plugin, const char *_slotSignature)
Check if a plugin has a slot.
void unblockSceneGraphUpdates()
Unblock the scenegraph updates.
void readApplicationOptions(INIFile &_ini)
Get and set Application options from ini file.
void slotObjectSelectionChanged(int _id)
Called by Plugins if they changed the active object.
void pluginViewChanged()
This signal is emitted if one of the viewers updated its view.
void createBackup(int _objectid, QString _name, UpdateType _type=UPDATE_ALL)
Tell backup-plugin to create a backup.
void objectSelectionChanged(int)
This signal is emitted if the object has been changed (source/target)
void iniLoadOptions(INIFile &_ini)
This signal is used to tell the plugins to load their new status.
void loadPlugin(const QString &_filename, const bool _silent, QString &_licenseErrors, QObject *_plugin=0)
Function for loading Plugins.
void setViewModeIcon(QString _mode, QString _iconName)
Set the icon of a viewMode.
int lastHeight_
Slot called everytime the view is updated.
void slotTextureGetImage(const QString &_textureName, QImage &_image)
Called by plugins if texture image should be fetched.
void volumeLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: This signal is emitted when standard volume lasso selection has been performed.
void moveToolBoxToTop(QString _name)
Move selected toolbox to top of side area.
void getSubTextures(int _id, QString _multiTextureName, QStringList &_subTextures)
get a multi-texture's sub textures
void slotDeleteAllObjects()
Called when a plugin wants to delete all objects.
void blockScenegraphUpdates(bool _block)
Called when a plugin wants to lock or unlock scenegraph updates.
void slotBlockPlugin(const QString &_rpcName)
Function for Blocking Plugins. Blocked plugins will unloaded and not loaded wthin the next starts.
void showSphereSelectionMode(QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: This signal is emitted when standard sphere selection is required.
QTextStream * logStream_
stream for logging to file
void slotSetJobDescription(QString _jobId, QString _text)
A job's widget's status text has been updated by a plugin.
void slotSetJobState(QString _jobId, int _value)
A job state has been updated by a plugin.
void slotShowToggleSelectionMode(const QString &_handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: Provide toggle selection operation for specific selection mode.
void executePythonScriptFile(QString _filename)
Open the given file and execute its contents as a python script.
void iniSave(INIFile &_ini, int _id)
This signal is used to tell the plugins to save the data of _id to the given file.
void sphereSelection(QMouseEvent *_event, double _radius, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: This signal is emitted when standard sphere selection has been performed.
QList< SlotInfo > coreSlots_
Core scripting engine.
void objectDeleted(int)
Called after an object has been deleted.
void iniLoad(INIFile &, int)
If an ini File is opened, this signal is send to Plugins capable of handling ini files.
void signalObjectUpdated(int, const UpdateType &)
When this Signal is emitted all Plugins are informed that some type of update was performed on an obj...
QSplashScreen * splash_
SplashScreen, only used in gui mode.
void objectPropertiesChanged(int _id)
Tell plugins that object properties such as object names have been changed.
std::vector< PluginInfo > & plugins()
Index of Plugins toolbox widget.
QElapsedTimer lastVideoTime_
Slot called everytime the view is updated.
void writeIniFile(QString _filename, bool _relativePaths, bool _targetOnly, bool _saveSystemSettings, bool _savePluginSettings, bool _saveObjectInfo, std::map< int, QString > &_fileMapping)
Write current status to ini file (Application and File Options)
void slotCrossPluginConnect(const QString &_pluginName1, const char *_signal, const QString &_pluginName2, const char *_slot)
Called to create inter plugin connections.
void slotAddPickMode(const std::string &_mode)
Add a new picking mode to the examiner_widget_.
void snapshotCounterStart(const int _counter, unsigned int _viewerId=0)
Set the start index for the snapshot counter.
void textureGetImage(QString _textureName, QImage &_image, int _id)
fetch texture image
void slotSetSlotDescriptionGlobalFunction(QString _functionName, QString _slotDescription, QStringList _parameters, QStringList _descriptions)
set a description for a global scripting function
void aboutToRestore(int _objectId)
Backup Plugin tells other Plugins that a restore will happen.
void slotSetSlotDescription(QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions)
set a description for one of the plugin's public slots
void slotMouseEventIdentify(QMouseEvent *_event)
Handle Mouse events when in Identifier mode.
void readGUIOptions(INIFile &_ini)
Read Options that needs the GUI to be set up completely.
void addTexture(QString, QImage, uint)
The texture with the given name and image has been added.
void slotVolumeLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: Called when volume lasso selection operation has been performed.
void init()
Second initialization stage.
void loadObjectFinished(const QString &_filename)
Vector storing filenames from commandline to be opened after application startup (objects)
void getCurrentTexture(int _id, QString &_textureName)
get current texture
QString splashMessage_
Last Splash message;.
void newObject(int _objectId)
This slot is called by the object manager when a new object is created.
void finishSplash()
exit the current application
void snapshot(unsigned int _viewerId=0, int _width=0, int _height=0, bool _alpha=false, bool _hideCoordsys=false, int _numSamples=1)
void closestBoundarySelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: This signal is emitted when standard closest boundary selection has been performe...
void loadSelection(const INIFile &_file)
SelectionInterface: This signal is emitted when a selection should be loaded from a file.
void slotLoad(QString _filename, DataType _type, int &_id)
A plugin wants to load a given file.
void resetScenegraph(bool _resetTrackBall)
void slotStartJob(QString _jobId, QString _description, int _min, int _max, bool _blocking)
A job has been started by a plugin.
void slotSwitchTexture(const QString &_textureName, int _id)
Tells Plugins to switch to the given Texture.
void saveOptions()
Save the current options to the standard ini file.
void startVideoCapture(const QString &_baseName, int _fps, bool _captureViewers)
Start video capturing.
void enableOpenMeshErrorLog(bool _state)
Enable or disable OpenMesh error logging.
void addPrimitiveType(QString _handleName, QString _name, QString _icon, SelectionInterface::PrimitiveType &_typeHandle)
SelectionInterface: This signal is emitted when a selection plugin should handle a new primitive type...
void applicationSnapshotName(QString _name)
Set the baseName for the application snapshot.
void registerType(QString _handleName, DataType _type)
SelectionInterface: This signal is emitted when a data type should be registered for a selection mode...
void saveObjects(IdList _ids, QString _filename, int _pluginID)
QScriptEngine scriptEngine_
Core scripting engine.
void slotGetCurrentRenderer(unsigned int _viewer, QString &_rendererName)
called to get the currently active renderer renderer for a specific viewer
void slotSphereSelection(QMouseEvent *_event, double _radius, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: Called when sphere selection operation has been performed.
void surfaceLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: This signal is emitted when standard surface lasso selection has been performed.
void slotLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: Called when lasso selection operation has been performed.
void toggleSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: This signal is emitted when standard toggle selection has been performed.
void deleteObject(int _id)
Called to delete an object.
void slotCancelJob(QString _jobId)
A job state has been canceled by a plugin.
void textureChangeImage(QString _textureName, QImage &_image, int _id)
Change the image for a given texture.
void showFloodFillSelectionMode(QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: This signal is emitted when standard flood fill selection is required.
void slotGetValue(const QString &_expression, QVariant &_result)
void slotScriptInfo(const QString &_pluginName, const QString &_functionName)
Core scripting engine.
bool checkLibraryVersions()
Checks for library inconsistencies.
void writeVersionNumbers(QString _filename)
write the current versions of all plugins to ini file
QList< JobInfo > currentJobs
A job has been started by a plugin.
SeparatorNode * root_node_scenegraph_global_
Seperator node for global nodes.
void slotPluginExists(const QString &_pluginName, bool &_exists)
Check if a plugin exists.
void slotExecuteAfterStartup()
Executed after loading core completly to load files from commandline.
void viewerSnapshot()
Take a snapshot from all viewers.
void showLassoSelectionMode(QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: This signal is emitted when standard lasso selection is required.
QTimer videoTimer_
Slot called everytime the view is updated.
std::vector< PluginLogger * > loggers_
Logger interfaces between plugins and core logger.
void applicationSnapshot()
Take a snapshot from the whole app.
void slotUpdateTexture(const QString &_name, int _identifier)
Tell the plugins to update the given texture.
void slotAddEmptyObject(DataType _type, int &_id)
Slot adding empty object of a given type.
void createWidget(const QString &_objectName, const QString &_uiFilename, bool _show=true)
Create an script object from a ui file.
ProcessManagerWidget * processManager_
A job has been started by a plugin.
void setMaxFrameRate(int _rate)
set the maximal framerate ( automatically enables framerate restriction )
SeparatorNode * root_node_scenegraph_
Scenegraphs root node.
void slotObjectUpdated(int _identifier, const UpdateType &_type=UPDATE_ALL)
Called by the plugins if they changed something in the object list (deleted, added,...
void floodFillSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: This signal is emitted when standard flood fill selection has been performed.
void addMultiTexture(QString _textureGroup, QString _name, QString _filename, int _id, int &_textureId)
The texture with the given name and filename has been added.
void slotExecuteFileScript(const QString &_filename)
void slotVisibilityChanged(int _id)
Called when a plugin changes the visibility of an object.
void updateView()
Called when a plugin requests an update in the viewer.
void switchTexture(QString)
Switch Texture Plugins to a given Mode.
void addCustomSelectionMode(QString _handleName, QString _modeName, QString _description, QString _icon, SelectionInterface::PrimitiveType _associatedTypes, QString &_customIdentifier, DataType _objectTypeRestriction)
Signal send to plugins when whole scene is cleared.
void setView(QString view)
Called when a plugin requests an update in the viewer.
void slotShowPlugins()
Show Plugins Dialog.
void log(Logtype _type, QString _message)
Logg with OUT,WARN or ERR as type.
void textureIndexPropertyName(int _id, QString &_propertyName)
get the texture index property name
void PluginWheelEvent(QWheelEvent *, const std::string &)
When this Signal is emitted when a Wheel Event occures.
void slotAddSelectionParameters(const QString &_handleName, QWidget *_widget, const QString &_category, SelectionInterface::PrimitiveType _type)
SelectionInterface: Called in order to add interactive parameters for a specific primitive type.
void slotSaveSelection(INIFile &_file)
SelectionInterface: Called when a selection should be stored into a file.
void restoreKeyBindings()
Restore key assignments from configs files.
int getObjectId(QString _filename)
Get object id from filename.
void getActiveDataTypes(SelectionInterface::TypeList &_types)
SelectionInterface: This signal is emitted when the active (selected) data types should be fetched.
void exitApplication()
exit the current application
void slotSurfaceLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: Called when surface lasso selection operation has been performed.
void setViewMode(QString _viewMode)
Set the active ViewMode.
void slotJobCancelRequested(const QString &_jobId)
Called by dialogs if cancel button is pressed.
void slotTextureFilename(int _id, const QString &_textureName, QString &_textureFilename)
Called by plugins if texture name should be fetched.
void activateToolbox(QString _pluginName, QString _toolboxName, bool activate)
expand or collapse a toolbox
void executePythonScript(const QString &_script)
execute the given string as a python script
void slotAddHiddenPickMode(const std::string &_mode)
Add a new and invisible picking mode to the examiner_widget_.
void viewUpdated()
Slot called everytime the view is updated.
void slotFileOpened(int _id)
Called when a file has been opened.
void slotAddSelectionEnvironment(const QString &_modeName, const QString &_description, const QString &_icon, QString &_handleName)
SelectionInterface: Called when a new selection type button should be added to the toolbar.
void redo(int _objectid)
Signal send to plugins when whole scene is cleared.
void textureFilename(int _id, QString _textureName, QString &_textureFilename)
get the texture's filename
int toolboxindex_
Index of Plugins toolbox widget.
void textureChangeImage(QString _textureName, QImage &_image)
Change the image for a given texture.
void loggerState(int _state)
Change the logging window state.
void slotSetRenderer(unsigned int _viewer, QString _rendererName)
called to switch the renderer for a specific viewer
void slotMouseEventLight(QMouseEvent *_event)
Handle Mouse events when in Light mode.
void slotUnBlockPlugin(const QString &_rpcName)
Function for UnBlocking Plugins. Plugins will not loaded automatically.
void scriptLogFunction(const QString &_output)
stream for logging to file
void textureGetImage(QString _textureName, QImage &_image)
fetch texture image
void slotRecentOpen(QAction *_action)
Open Recent file.
void loadSettings()
Load status from file.
void restored(int _objectId)
Backup Plugin tells other Plugins that a restore has happened.
prototypeMatrix4x4 matrix4x4Prototype_
Prototype for the Matrix type.
void slotExit()
Exit Application.
void addMultiTexture(QString _textureGroup, QString _name, QImage _image, int _id, int &_textureId)
The texture with the given name and image has been added.
void multiViewMode(int _mode)
Switch the multiView Mode.
void slotGetCurrentTexture(int _id, QString &_textureName)
Called by plugins if current texture should be retrieved.
void clearObjectComment(int objId, QString key)
Called when a plugin requests an update in the viewer.
prototypeVec3d vec3dPrototype_
Prototype for the Vector type.
void showClosestBoundarySelectionMode(QString _handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: This signal is emitted when standard closest boundary selection is required.
void slotGetActivePrimitiveType(SelectionInterface::PrimitiveType &_type)
SelectionInterface: Called when active primitive type should be fetched.
bool capture_
Slot called everytime the view is updated.
int nextBackupId_
Id for the next backup.
QString getCurrentViewMode()
Get current view mode.
void slotCustomSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, const QString &_customIdentifier, bool _deselect)
SelectionInterface: Called when custom selection operation has been performed.
void slotGetScriptingEngine(QScriptEngine *&_engine)
Core scripting engine.
void writeObjFile(QString _filename, bool _relativePaths, bool _targetOnly, std::map< int, QString > &_fileMapping)
Write current status to obj file (Application and File Options)
void slotAddCustomSelectionMode(const QString &_handleName, const QString &_modeName, const QString &_description, const QString &_icon, SelectionInterface::PrimitiveType _associatedTypes, QString &_customIdentifier)
SelectionInterface: Add new selection mode for specified type.
void stopVideoCapture()
Stop video capturing.
void slotTextureChangeImage(const QString &_textureName, QImage &_image)
Called by plugins if texture image should be changed.
void registerKeyShortcut(int _key, Qt::KeyboardModifiers _modifiers)
SelectionInterface: This signal is emitted when a type selection plugin wants to listen to a key even...
void slotClosestBoundarySelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: Called when closest boundary selection operation has been performed.
QString serializeMaterialProperties(int _objId)
Serialize material properties.
void pluginsInitialized(QVector< QPair< QString, QString > > const &)
Called after all plugins are loaded and additionally passes command line plugin options.
int nextBackupGroupId_
Id for the next backup group.
QList< SlotInfo > globalFunctions_
Core scripting engine.
void updateUI()
process events during script execution to keep the ui alive
void jobCanceled(QString _jobId)
A job has been started by a plugin.
void slotGetSubTextures(int _id, const QString &_multiTextureName, QStringList &_subTextures)
Called by plugins if a multi-texture's sub textures should be fetched.
void slotShowVolumeLassoSelectionMode(const QString &_handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: Provide volume lasso selection operation for specific selection mode.
void slotRegisterType(const QString &_handleName, DataType _type)
SelectionInterface: Called when a data type is added for a specific selection type.
QList< int > objectList(QString _selection, QStringList _types)
return the list of available object that has the given selection and type
bool saveObject(int _id, QString _filename)
Save an object.
void setObjectComment(int objId, QString key, QString comment)
Called when a plugin requests an update in the viewer.
void signalObjectUpdated(int)
When this Signal is emitted all Plugins are informed that the object list changed.
bool getJob(QString _jobId, int &_index)
Find a job in the jobslist.
void externalLog(Logtype _type, QString _message)
This signal is emitted to send log data to a plugin.
bool checkSignal(QObject *_plugin, const char *_signalSignature)
Check if a plugin has a signal.
void lassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
SelectionInterface: This signal is emitted when standard lasso selection has been performed.
void slotTargetObjectsOnly(bool &_targetsOnly)
SelectionInterface: Called when target restriction state should be fetched.
SeparatorNode * dataSeparatorNode_
Toplevel Nodes for data objects.
int addEmptyObject(DataType _type)
std::vector< QString > commandLineScriptNames_
Vector storing filenames from commandline to be opened after application startup (script files)
void setTextureMode(QString _textureName, QString _mode, int _id)
A texture mode should be changed.
CoreWidget * coreWidget_
The main applications widget ( only created in gui mode )
bool checkOpenGLCapabilities()
OpenGL capability check.
void showViewModeControls(bool _show)
Show or Hide the viewmode control widget.
void openIniFile(QString _filename, bool _coreSettings, bool _perPluginSettings, bool _loadObjects)
Load information from an ini file.
void addTexture(QString, QString, uint)
The texture with the given name and filename has been added.
void slotShowSphereSelectionMode(const QString &_handleName, bool _show, SelectionInterface::PrimitiveType _associatedTypes)
SelectionInterface: Provide sphere selection operation for specific selection mode.
Class for the handling of simple configuration files.
Interface class for type definitions.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.