47 #ifndef TYPELIGHTPLUGIN_HH 48 #define TYPELIGHTPLUGIN_HH 76 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-TypeLight")
80 void log(
Logtype _type, QString _message);
81 void log(QString _message);
84 void addEmptyObject(
DataType _type,
int& _id);
85 void emptyObjectAdded(
int _id );
86 void deleteObject(
int _id);
89 void updatedObject(
int _id,
const UpdateType& _type);
93 void getToolBar( QString _name, QToolBar*& _toolbar );
96 void addPickMode(
const std::string& _mode);
97 void addHiddenPickMode(
const std::string& _mode);
98 void setPickModeMouseTracking (
const std::string& _mode,
bool _mouseTracking);
99 void setPickModeToolbar(
const std::string& _mode, QToolBar * _toolbar);
104 void noguiSupported( ) {};
113 void addDefaultLights();
115 void removeDefaultLights();
153 QString
name() {
return (QString(
"TypeLight")); };
154 QString
description( ) {
return (QString(tr(
"Register Light type"))); };
161 QString version() {
return QString(
"1.0"); };
170 int addDefaultLight(QString _name);
172 void showReducedUi(
bool reduced);
176 void slotLightModeRequest(
bool _checked);
177 void slotPickModeRequest(QAction* _action);
179 void slotSetAllOrTarget(
bool _checked);
187 double getFarthestRadius();
204 QToolBar* lightOptions_;
207 QAction* lightAction_;
210 QAction* translateMode_;
211 QAction* rotateMode_;
213 QAction* allLightsMode_;
214 QAction* viewerToolbarAction_;
240 bool hitLightTrackball_;
245 #endif //TYPELIGHTPLUGIN_HH QString name()
Return a name for the plugin.
Interface class for type definitions.
Interface class for exporting functions to python.
void addedEmptyObject(int _id)
An empty object has been added.
std::vector< int > lightSources_
Count light sources in scene.
Interface class for receiving mouse events.
int addEmpty()
Create an empty object.
DataType supportedType()
Return your supported object type( e.g. DATA_TRIANGLE_MESH )
void slotMouseEventLight(QMouseEvent *_event)
Mouse Event from main application ( Light Mode )
void objectDeleted(int _id)
An object was deleted.
Logtype
Log types for Message Window.
Interface for all Plugins which do logging to the logging window of the framework.
void rotateLights(ACG::Vec3d &_axis, double _angle)
Rotate light sources.
void rotateLightDirection(ACG::Vec3d &_axis, double _angle)
Rotate spot light direction.
void addAssistLines()
Get number of non-directional light sources.
bool computeClickOnTrackball(const QPoint &_v2D, ACG::Vec3d &_clickOnSphere, ACG::GLState &_state)
Compute click on trackball containing the light source.
void updateLights()
Update light sources' positions.
void pluginsInitialized()
Initialize Plugin step 2.
float findDepth()
Find depth of nearest light source.
QString description()
Return a description of what the plugin is doing.
void slotPickModeChanged(const std::string &_pickMode)
The pickingMode has changed.
void slotAllCleared()
Called if the whole scene is cleared.
Interface class from which all plugins have to be created.
Allow access to picking functions.
Interface for all plugins which want to Load or Save files and create Objects.
bool computeClickOnLightTrackball(const QPoint &_v2D, ACG::Vec3d &_clickOnSphere, ACG::GLState &_state)
Compute click on trackball of light source.