47#include <ObjectTypes/Plane/QtPlaneSelect.hh>
79 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-Plane")
85 void setSlotDescription(QString _slotName, QString _slotDescription,
86 QStringList _parameters, QStringList _descriptions);
89 void addEmptyObject(
DataType _type,
int &_id);
90 void copyObject(
int _oldId,
int &_newId);
91 void deleteObject(
int _id);
94 void addToolbar(QToolBar *_toolbar);
95 void getToolBar(QString _name, QToolBar *&_toolbar);
98 void defineViewMode(QString _mode, QStringList _usedWidgets);
101 void registerKey(
int _key, Qt::KeyboardModifiers _modifiers,
102 QString _description,
bool _multiUse =
false);
105 void addPickMode(
const std::string& _mode);
108 void scriptInfo(QString _functionName);
111 void log(
Logtype _type, QString _message);
112 void log(QString _message);
139 QString
name() {
return (QString(
"Plane")); }
140 QString
description() {
return (QString(
"Handle plane objects.")); }
148 template <
class MeshT>
149 std::vector<ACG::Vec3d>
154 template <
class MeshT>
206 QString version() {
return QString(
"1.0"); }
215#if defined(INCLUDE_TEMPLATES) && !defined(PLANEPLUGIN_CC)
216#define PLANEPLUGIN_TEMPLATES
217#include "PlanePluginT_impl.hh"
Logtype
Log types for Message Window.
Interface class from which all plugins have to be created.
Keyboard Event Interface.
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.
QString name()
Return a name for the plugin.
bool dragging_
additional information
void slotCreatePlaneTriggered()
Create a plane node when position/normal have been drawn.
ACG::Vec3d viewCoord_
additional information
PlanePlugin()
Constructor.
PlaneObject * curPlane_
additional information
bool ortho_
additional information
ACG::Vec3d wCurrMousePos_
additional information
void slotKeyReleaseEvent(QKeyEvent *_event)
a keyRelease event occured
int pickedCorner_
additional information
QAction * planeNodeAction_
additional information
ACG::Vec3d wMouseDownPosition_
additional information
void slotPickModeChanged(const std::string &_mode)
the pickMode changed
std::vector< ACG::Vec3d > getIntersectionPoints(MeshT *_mesh, uint _fh, ACG::Vec3d _planeNormal, ACG::Vec3d _planePoint, bool &_closed)
get the points from the intersection between mesh and plane
MeshT::EdgeHandle getCuttedEdge(MeshT &_mesh, ACG::Vec3d &_planeNormal, ACG::Vec3d &_planePoint)
get an edge of the mesh that is cut by the plane
QtPlaneSelect * createPlane_
additional information
void setDescriptions()
set scripting slot descriptions
void slotCreatePlaneNode()
Plane Node Button.
Plane origPlane_
additional information
void slotKeyEvent(QKeyEvent *_event)
a key event occured
void initializePlugin()
Initialize the plugin.
QString description()
Return a description of what the plugin is doing.
int lastObjId_
additional information
void slotMouseEvent(QMouseEvent *_event)
a mouse event occured
ACG::Vec3d viewDirection_
additional information
void pluginsInitialized()
Second initialization phase.
Interface for all Plugins which provide scriptable Functions.