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);
138 QString
name() {
return (QString(
"Plane")); }
139 QString
description() {
return (QString(
"Handle plane objects.")); }
147 template <
class MeshT>
148 std::vector<ACG::Vec3d>
153 template <
class MeshT>
203 QString version() {
return QString(
"1.0"); }
212 #if defined(INCLUDE_TEMPLATES) && !defined(PLANEPLUGIN_CC) 213 #define PLANEPLUGIN_TEMPLATES 214 #include "PlanePluginT_impl.hh" ACG::Vec3d wMouseDownPosition_
additional information
QString description()
Return a description of what the plugin is doing.
void slotMouseEvent(QMouseEvent *_event)
a mouse event occured
Interface class for receiving mouse events.
ACG::Vec3d wCurrMousePos_
additional information
void initializePlugin()
Initialize the plugin.
QtPlaneSelect * createPlane_
additional information
MeshT::EdgeHandle getCuttedEdge(MeshT &_mesh, ACG::Vec3d &_planeNormal, ACG::Vec3d &_planePoint)
get an edge of the mesh that is cut by the plane
bool dragging_
additional information
Logtype
Log types for Message Window.
void slotCreatePlaneTriggered()
Create a plane node when position/normal have been drawn.
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
QAction * planeNodeAction_
additional information
Interface for all Plugins which do logging to the logging window of the framework.
void setDescriptions()
set scripting slot descriptions
PlaneObject * curPlane_
additional information
QString name()
Return a name for the plugin.
int pickedCorner_
additional information
int lastObjId_
additional information
ACG::Vec3d viewDirection_
additional information
Keyboard Event Interface.
void slotKeyReleaseEvent(QKeyEvent *_event)
a keyRelease event occured
void slotPickModeChanged(const std::string &_mode)
the pickMode changed
Interface for all Plugins which provide scriptable Functions.
void pluginsInitialized()
Second initialization phase.
PlanePlugin()
Constructor.
void slotCreatePlaneNode()
Plane Node Button.
Plane origPlane_
additional information
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.