42#ifndef COMPONENTSPLUGIN_HH
43#define COMPONENTSPLUGIN_HH
72 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-Components")
77 void updatedObject(
int _identifier,
const UpdateType& _type);
78 void setSlotDescription(QString _slotName, QString _slotDescription,
79 QStringList _parameters, QStringList _descriptions);
82 void addEmptyObject(
DataType _type,
int& _id);
83 void copyObject(
int _oldId,
int& _newId);
86 void addToolbar(QToolBar* _toolbar);
87 void getToolBar( QString _name, QToolBar*& _toolbar);
90 void addPickMode(
const std::string& _mode);
93 void scriptInfo( QString _functionName );
96 void log(
Logtype _type, QString _message );
97 void log( QString _message );
100 void createBackup(
int _objectid, QString _name,
UpdateType _type);
103 void deleteObject(
int _id );
109 void noguiSupported(){};
124 QString
name() {
return (QString(
"Components")); };
125 QString
description( ) {
return (QString(
"Handle mesh components")); };
166 template<
class MeshT >
175 template<
class MeshT >
185 template<
class MeshT >
218 QString version() {
return QString(
"1.0"); };
225#if defined(INCLUDE_TEMPLATES) && !defined(COMPONENTSPLUGIN_CC)
226#define COMPONENTSPLUGIN_TEMPLATES
227#include "ComponentsPluginT_impl.hh"
std::vector< int > IdList
Standard Type for id Lists used for scripting.
Logtype
Log types for Message Window.
Interface class for backup handling.
Interface class from which all plugins have to be created.
void biggestComponent(QMouseEvent *_event)
Split into Components Button was hit.
void initializePlugin()
Initialize the plugin.
void slotSplitComponentsButton()
Split into Components Button was hit.
void pluginsInitialized()
Second initialization phase.
QAction * biggestAction_
Split into Components Button was hit.
void slotPickModeChanged(const std::string &_mode)
the pickMode changed
void deleteUnselectedFaces(MeshT *_mesh)
Deletes all faces of a mesh that are not selected.
QAction * splitAction_
Split into Components Button was hit.
ComponentsPlugin()
Constructor.
void setDescriptions()
set scripting slot descriptions
void splitComponent(MeshT *_mesh, MeshT *_copy)
Split mesh into components.
void selectBiggestComponent(MeshT *_mesh)
Select the biggest component of the mesh.
void slotMouseEvent(QMouseEvent *_event)
a mouse event occured
void slotBiggestComponentButton()
Split into Components Button was hit.
QString name()
Return a name for the plugin.
QString description()
Return a description of what the plugin is doing.
void splitComponents(QMouseEvent *_event)
Split Components of picked object.
Interface for all plugins which want to Load or Save files and create Objects.
Interface for all Plugins which do logging to the logging window of the framework.
Interface class for receiving mouse events.
Allow access to picking functions.
Interface for all Plugins which provide scriptable Functions.