Developer Documentation
PolyLinePlugin Class Reference

#include <Plugin-PolyLine/PolyLinePlugin.hh>

Inheritance diagram for PolyLinePlugin:
ContextMenuInterface ScriptInterface KeyInterface StatusbarInterface ToolbarInterface LoadSaveInterface LoggingInterface ToolboxInterface PickingInterface MouseInterface BaseInterface

Public Types

enum  EditMode {
  PL_NONE =0 , PL_INSERT =1 , PL_INSERTCIRCLE , PL_INSERTSPLINE ,
  PL_DELETE , PL_MOVE , PL_SPLIT , PL_MERGE ,
  PL_SMART_MOVE , PL_COPY_PASTE
}
 Edit Mode of PolyLinePlugin. More...
 

Public Slots

void slotEnablePickMode (const QString &_name)
 
QString version ()
 
void createCircle_createUI (int _polyLineObjectID)
 
void createSpline_createUI (int _polyLineObjectID)
 

Signals

void updateView ()
 
void updatedObject (int _identifier, const UpdateType &_type)
 
void nodeVisibilityChanged (int _id)
 
void addPickMode (const std::string &_mode)
 
void addHiddenPickMode (const std::string &_mode)
 
void setPickModeToolbar (const std::string &_mode, QToolBar *_toolbar)
 
void setPickModeMouseTracking (const std::string &_mode, bool _mouseTracking)
 
void log (Logtype _type, QString _message)
 
void log (QString _message)
 
void addToolbar (QToolBar *_toolbar)
 
void getToolBar (QString _name, QToolBar *&_toolbar)
 
void scriptInfo (QString _functionName)
 
void addToolbox (QString _name, QWidget *_widget, QIcon *_icon)
 
void deleteObject (int _id)
 
void addEmptyObject (DataType _type, int &_id)
 
void registerKey (int _key, Qt::KeyboardModifiers _modifiers, QString _description, bool _multiUse=false)
 
void showStatusMessage (QString _message, int _timeout=0)
 
void clearStatusMessage ()
 
void addContextMenuItem (QAction *_action, DataType _objectType, ContextMenuType _type)
 
- Signals inherited from BaseInterface
virtual void updateView ()
 Update current view in Main Application. More...
 
virtual void setSlotDescription (QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions)
 Set a description for a public slot. More...
 
virtual void setRenderer (unsigned int _viewer, QString _rendererName)
 Set a renderer for the given viewer. More...
 
- Signals inherited from PickingInterface
virtual void addPickMode (const std::string &_mode)
 Add a new picking mode to the examiner. More...
 
- Signals inherited from ToolboxInterface
virtual void addToolbox (QString _name, QWidget *_widget)
 Add a toolbox widget to the gui with the given name. More...
 
- Signals inherited from LoggingInterface
virtual void log (Logtype _type, QString _message)=0
 
virtual void log (QString _message)=0
 
- Signals inherited from LoadSaveInterface
virtual void save (int _id, QString _filename)
 Save object to a file. More...
 
virtual void load (QString _filename, DataType _type, int &_id)
 Load object from file with a specific DataType. More...
 
- Signals inherited from ToolbarInterface
virtual void addToolbar (QToolBar *_toolbar)
 Adds a Toolbar to the main widget. More...
 
- Signals inherited from StatusbarInterface
virtual void showStatusMessage (QString _message, int _timeout=0)
 Show a message in the status bar. More...
 
- Signals inherited from KeyInterface
virtual void registerKey (int _key, Qt::KeyboardModifiers _modifiers, QString _description, bool _multiUse=false)
 Register a key-combination for your plugin. More...
 
- Signals inherited from ScriptInterface
virtual void scriptInfo (QString _functionWithParameters)
 Emit this signal if a scriptable function is executed. More...
 
virtual void getScriptingEngine (QScriptEngine *&_engine)
 
virtual void executeFileScript (QString _filename)
 
virtual void getAvailableFunctions (QStringList &_functions)
 
- Signals inherited from ContextMenuInterface
virtual void addContextMenuItem (QAction *_action, ContextMenuType _type)
 Add an entry for a context Menu. More...
 

Public Member Functions

 PolyLinePlugin ()
 default constructor More...
 
 ~PolyLinePlugin ()
 default destructor More...
 
QString name ()
 Name of the Plugin. More...
 
QString description ()
 Description of the Plugin. More...
 
int generatePolyLineFromCut (int _objectId, Vector _planePoint, Vector _planeNormal, int _polyLineId=-1)
 Generates a polyLine of a plane intersection. More...
 
IdList generatePolyLinesFromCut (int _objectId, Vector _planePoint, Vector _planeNormal)
 Generates a polyLine of a plane intersection. More...
 

Private Slots

void initializePlugin ()
 
void slotEditModeChanged ()
 
void slotMouseEvent (QMouseEvent *_event)
 
void slotKeyEvent (QKeyEvent *_event)
 
void slotPickModeChanged (const std::string &_mode)
 
void pluginsInitialized ()
 
bool pick_triangle_mesh (QPoint mPos, TriMeshObject *&_mesh_object_, TriMesh::FaceHandle &_fh, TriMesh::VertexHandle &_vh, ACG::Vec3d &_hitPoint)
 
void slotUpdateContextMenu (int objectId)
 
void slot_subdivide ()
 
void slot_subdivide_percent (bool _checked)
 
void slot_decimate ()
 
void slot_decimate_percent (bool _checked)
 
void slot_smooth ()
 
void slot_smooth (PolyLineObject *&_pol)
 
void slot_project ()
 
void slot_project (PolyLineObject *&_pol)
 
void slot_smooth_project ()
 
void slot_smooth_project (PolyLineObject *&_pol)
 
void slot_smart_move_timer ()
 
void slot_setCirclePointNum (int i)
 
void slot_setSplinePointNum (int i)
 
virtual void slotObjectUpdated (int _identifier, const UpdateType &_type)
 
void slot_duplicate ()
 
void slot_instanciate ()
 
void finishSpline ()
 
void slotScissorButton ()
 Scissor Button was hit. More...
 
void slotScissorLinesButton ()
 Scissor Button for multiple polylines was hit. More...
 
void slotTriggerCutPlaneSelect ()
 Generate PolyLine after the cutPlane has been drawn. More...
 
- Private Slots inherited from BaseInterface
virtual void exit ()
 
virtual QString version ()
 Return a version string for your plugin. More...
 
- Private Slots inherited from KeyInterface
virtual void slotKeyEvent (QKeyEvent *_event)
 Key Event from Main App. More...
 

Private Member Functions

EditMode mode ()
 
void me_insert (QMouseEvent *_event)
 
void me_insertCircle (QMouseEvent *_event)
 
void me_insertSpline (QMouseEvent *_event)
 
void me_delete (QMouseEvent *_event)
 
void me_move (QMouseEvent *_event)
 
void me_split (QMouseEvent *_event)
 
void me_merge (QMouseEvent *_event)
 
void me_smart_move (QMouseEvent *_event)
 
void me_copyPasteMouse (QMouseEvent *_event)
 
bool createCircle_getPointOnMesh (TriMeshObject *_triMeshObject, ACG::Vec3d _center, ACG::Vec3d _pOnPlane, ACG::Vec3d _n, ACG::Vec3d *_pOut)
 Calculates a point on the mesh. More...
 
bool createCircle_getHitInfo (PolyLineCircleData *_circleData, ACG::Vec3d _hit_Point, ACG::Vec3d *_pOut=0, double *_r=0, ACG::Vec3d *_onPlane=0)
 Calculates common info. More...
 
ACG::Vec3d createCircle_getHit (PolyLineCircleData *_circleData, ACG::Vec3d _hit_point)
 Returns point on mesh or point on the normal plane. More...
 
void updatePolyEllipse (PolyLineObject *_lineObject, unsigned int _pointCount)
 Generates points for the ellipse. More...
 
void updateHandles (PolyLineObject *_lineObject)
 Updates the center, forward and side handle of the Poly ellipse. More...
 
void updatePolyBezierSpline (PolyLineObject *_lineObject, unsigned int _pointsPerSegment)
 Generates points for the spline, updates handles. More...
 
void updatePolyBezierHandles (PolyLineObject *_lineObject, ACG::SceneGraph::LineNode *_line)
 Updates all the handles on the PolyBezier. More...
 
ACG::Vec3d getPointOnMesh (PolyLineBezierSplineData *_SplineData, ACG::Vec3d _point, ACG::Vec3d *_nor=0)
 Returns the nearest point on the mesh or if none could be found the input. More...
 
Template Functions
template<class MeshT >
std::vector< ACG::Vec3dgetIntersectionPoints (MeshT *_mesh, uint _fh, ACG::Vec3d _planeNormal, ACG::Vec3d _planePoint, bool &_closed)
 get the points from the closest connected intersection between mesh and plane More...
 
template<class MeshT >
std::vector< std::vector< ACG::Vec3d > > getMultipleIntersectionPoints (MeshT *_mesh, ACG::Vec3d _planeNormal, ACG::Vec3d _planePoint)
 get all points from the intersection between mesh and plane More...
 
template<class MeshT >
MeshT::EdgeHandle getCuttedEdge (MeshT &_mesh, ACG::Vec3d &_planeNormal, ACG::Vec3d &_planePoint)
 get an edge of the mesh that is cut by the plane More...
 
- Private Member Functions inherited from BaseInterface
virtual void noguiSupported ()
 
virtual ~BaseInterface ()
 Destructor. More...
 
virtual void blockScenegraphUpdates (bool _block)
 Tell the core to prevent scenegraph updates. More...
 
virtual void updatedObject (int _objectId)
 An object has been changed or added by this plugin. More...
 
virtual void updatedObject (int _identifier, const UpdateType &_type)
 An object has been changed or added by this plugin. More...
 
virtual void nodeVisibilityChanged (int _identifier)
 A scenegraph node has been shown or hidden. More...
 
virtual void getCurrentRenderer (unsigned int _viewer, QString &_rendererName)
 Get the current renderer for the given viewer. More...
 
- Private Member Functions inherited from MouseInterface
virtual ~MouseInterface ()
 Destructor. More...
 
- Private Member Functions inherited from PickingInterface
virtual void addHiddenPickMode (const std::string &_mode)
 Add a new picking mode to the examiner which will be invisible. More...
 
virtual void setPickModeCursor (const std::string &_mode, QCursor _cursor)
 Set the cursor of the given PickMode. More...
 
virtual void setPickModeMouseTracking (const std::string &_mode, bool _mouseTracking)
 Set mouse tracking for the given PickMode. More...
 
virtual void setPickModeToolbar (const std::string &_mode, QToolBar *_toolbar)
 Set the additional toolbar of the given PickMode. More...
 
virtual void removePickModeToolbar (const std::string &_mode)
 Removes the additional toolbar of the given PickMode. More...
 
virtual ~PickingInterface ()
 Destructor. More...
 
- Private Member Functions inherited from ToolboxInterface
virtual ~ToolboxInterface ()
 Destructor. More...
 
virtual void addToolbox (QString _name, QWidget *_widget, QIcon *_icon)
 Add a toolbox widget to the gui with the given name and an icon. More...
 
virtual void addToolbox (QString _name, QWidget *_widget, QIcon *_icon, QWidget *_headerAreaWidget)
 Add a toolbox widget to the gui with the given name, icon and header area widget. More...
 
- Private Member Functions inherited from LoggingInterface
virtual ~LoggingInterface ()
 Destructor. More...
 
- Private Member Functions inherited from LoadSaveInterface
virtual ~LoadSaveInterface ()
 Destructor. More...
 
virtual void addEmptyObject (DataType _type, int &_id)
 
virtual void copyObject (int _oldId, int &_newId)
 
virtual void emptyObjectAdded (int _id)
 DEPRECATED HERE (Moved to Type Interface)! Emit this signal if an empty object has been created. More...
 
virtual void deleteObject (int _id)
 Delete an object
This signal can be called from any thread.
. More...
 
virtual void deleteAllObjects ()
 Delete all Objects. More...
 
virtual void getAllFileFilters (QStringList &_filters)
 Get all file filters that are registered. More...
 
- Private Member Functions inherited from ToolbarInterface
virtual ~ToolbarInterface ()
 Destructor. More...
 
virtual void removeToolbar (QToolBar *_toolbar)
 Remove a Toolbar from the main widget. More...
 
virtual void getToolBar (QString _name, QToolBar *&_toolbar)
 Get a pointer to a Toolbar of the given name or 0 if it does not exist. More...
 
- Private Member Functions inherited from StatusbarInterface
virtual ~StatusbarInterface ()
 Destructor. More...
 
virtual void setStatus (ApplicationStatus::applicationStatus _status)
 Sets the status icon of the StatusBar. More...
 
virtual void clearStatusMessage ()
 Removes the current message from the statusBar. More...
 
virtual void addWidgetToStatusbar (QWidget *_widget)
 Add a widget on the right side of the statusBar. More...
 
- Private Member Functions inherited from KeyInterface
virtual void slotKeyReleaseEvent (QKeyEvent *_event)
 Key Release Event from Main App. More...
 
virtual ~KeyInterface ()
 Destructor. More...
 
- Private Member Functions inherited from ScriptInterface
virtual ~ScriptInterface ()
 Destructor. More...
 
virtual void showScriptInEditor (QString _filename)
 
virtual void executeScript (QString _script)
 
virtual void getDescription (QString _function, QString &_description, QStringList &_parameters, QStringList &_descriptions)
 
- Private Member Functions inherited from ContextMenuInterface
virtual ~ContextMenuInterface ()
 Destructor. More...
 
virtual void addContextMenuItem (QAction *_action, DataType _objectType, ContextMenuType _type)
 Add an entry for a context Menu. More...
 
virtual void hideContextMenu ()
 hide the main context menu More...
 

Private Attributes

int cur_insert_id_
 
PolyLineObjectcur_polyline_obj_
 
int cur_move_id_
 
PolyLine::Point * move_point_ref_
 
PolyLine::Point * create_point_ref_
 
PolyLine::Point move_point_orig_
 
int createCircle_CurrSelIndex_
 The object which is being modified(created, dragged) More...
 
int createCircle_LastSelIndex_
 Use this one to mark the last index to update the number of points. More...
 
ACG::SceneGraph::GlutPrimitiveNodemoveCircle_SelNode_
 The handle which is being dragged. More...
 
ACG::Vec3d moveCircle_LastHitPos_
 The last valid hit on the mesh. More...
 
ACG::Vec3d moveCircle_LastHitNor_
 
bool moveCircle_IsLocked
 
bool moveCircle_IsFloating
 
QAction * copyPaste_Action_
 
int copyPaste_ObjectId_
 
int copyPaste_ActionType_
 
int copyPaste_NewObjectId_
 
std::vector< ACG::Vec3dcopyPaste_RelativePoints_
 
QPoint copyPaste_LastMouse
 
int createSpline_CurrSelIndex_
 The index of the currently created spline. More...
 
int createSpline_LastSelIndex_
 Use this one to mark the last index to update the number of points. More...
 
ACG::SceneGraph::GlutPrimitiveNodemoveBezSpline_SelNode_
 The handle which is being dragged. More...
 
int moveBezSpline_SelIndex_
 The object which is being moved. More...
 
int moveBezSpline_SelSubIndex_
 The index of the control or handle being moved. More...
 
int cur_merge_id_
 
QTimer * smart_move_timer_
 
PolyLineObjectcur_smart_move_obj_
 
QtPlaneSelectplaneSelect_
 Plane selection tool. More...
 
ToolBox
PolyLineToolbarWidgettool_
 Widget for Toolbox. More...
 
QIcon * toolIcon_
 Icon for the toolbox. More...
 

ToolBar

QAction * polyLineAction_
 Called by Toolbar to enable pick mode. More...
 
QActionGroup * toolBarActions_
 Called by Toolbar to enable pick mode. More...
 
QToolBar * toolbar_
 Called by Toolbar to enable pick mode. More...
 
void slotSetPolyLineMode (QAction *_action)
 Called by Toolbar to enable pick mode. More...
 

PickToolBar

QToolBar * pickToolbar_
 Called by pick Toolbar. More...
 
QActionGroup * pickToolBarActions_
 Called by pick Toolbar. More...
 
QAction * insertAction_
 Called by pick Toolbar. More...
 
QAction * insertCircleAction_
 Called by pick Toolbar. More...
 
QAction * insertSplineAction_
 Called by pick Toolbar. More...
 
QAction * deleteAction_
 Called by pick Toolbar. More...
 
QAction * moveAction_
 Called by pick Toolbar. More...
 
QAction * smartMoveAction_
 Called by pick Toolbar. More...
 
QAction * mergeAction_
 Called by pick Toolbar. More...
 
QAction * splitAction_
 Called by pick Toolbar. More...
 
QAction * cutAction_
 Called by pick Toolbar. More...
 
QAction * cutMultipleAction_
 Called by pick Toolbar. More...
 
void slotPickToolbarAction (QAction *_action)
 Called by pick Toolbar. More...
 

Detailed Description

Plugin for PolyLine Support

Definition at line 98 of file PolyLinePlugin.hh.

Member Enumeration Documentation

◆ EditMode

Edit Mode of PolyLinePlugin.

Definition at line 186 of file PolyLinePlugin.hh.

Constructor & Destructor Documentation

◆ PolyLinePlugin()

PolyLinePlugin::PolyLinePlugin ( )

default constructor

Definition at line 102 of file PolyLinePlugin.cc.

◆ ~PolyLinePlugin()

PolyLinePlugin::~PolyLinePlugin ( )

default destructor

Definition at line 146 of file PolyLinePlugin.cc.

Member Function Documentation

◆ createCircle_createUI

void PolyLinePlugin::createCircle_createUI ( int  _polyLineObjectID)
slot

Definition at line 1074 of file PolyLinePlugin.cc.

◆ createCircle_getHit()

ACG::Vec3d PolyLinePlugin::createCircle_getHit ( PolyLineCircleData _circleData,
ACG::Vec3d  _hit_point 
)
private

Returns point on mesh or point on the normal plane.

Helper function which returns the point on the mesh or if none could be found the point on the plane

Parameters
_circleDataThe circle to use.
_hit_pointThe point to "project".
Returns
Point on the mesh if one was found or on the normal plane.

Definition at line 130 of file PolyLinePlugin_Circle.cc.

◆ createCircle_getHitInfo()

bool PolyLinePlugin::createCircle_getHitInfo ( PolyLineCircleData _circleData,
ACG::Vec3d  _hit_Point,
ACG::Vec3d _pOut = 0,
double *  _r = 0,
ACG::Vec3d _onPlane = 0 
)
private

Calculates common info.

Calculates common info like point on the mesh, point on the normal plane and the distance from the circle center

Parameters
_circleDataThe circle to use.
_hit_PointThe point which to "project".
_pOut(optional)Point on the mesh.
_rThe distance between circle center and point on the plane.
_onPlanePoint on the normal plane regarding the hit_point.

Definition at line 112 of file PolyLinePlugin_Circle.cc.

◆ createCircle_getPointOnMesh()

bool PolyLinePlugin::createCircle_getPointOnMesh ( TriMeshObject _triMeshObject,
ACG::Vec3d  _center,
ACG::Vec3d  _pOnPlane,
ACG::Vec3d  _n,
ACG::Vec3d _pOut 
)
private

Calculates a point on the mesh.

Finds the nearest point on the mesh given a point on the normal plane

Parameters
_triMeshObjectThe mesh to use
_centerThe center of the ellipse
_pOnPlaneThe projection of the hit point on the plane
_nThe normal of the ellipse
_pOutThe point on the mesh if one could be found.
Returns
True if a point could be found.

Definition at line 85 of file PolyLinePlugin_Circle.cc.

◆ createSpline_createUI

void PolyLinePlugin::createSpline_createUI ( int  _polyLineObjectID)
slot

Definition at line 1181 of file PolyLinePlugin.cc.

◆ description()

QString PolyLinePlugin::description ( )
inlinevirtual

Description of the Plugin.

Implements BaseInterface.

Definition at line 207 of file PolyLinePlugin.hh.

◆ finishSpline

void PolyLinePlugin::finishSpline ( )
privateslot

Definition at line 1235 of file PolyLinePlugin.cc.

◆ generatePolyLineFromCut()

int PolyLinePlugin::generatePolyLineFromCut ( int  _objectId,
Vector  _planePoint,
Vector  _planeNormal,
int  _polyLineId = -1 
)

Generates a polyLine of a plane intersection.

Parameters
_objectIdid of the target object
_planePointa point on the cut plane
_planeNormalthe normal of the cut plane
_polyLineIdSpecify this if you don't want a new polyline to be generated but to reuse an existing one
Returns
returns the id of the polyLine

Definition at line 55 of file PolyLineScripting.cc.

◆ generatePolyLinesFromCut()

IdList PolyLinePlugin::generatePolyLinesFromCut ( int  _objectId,
Vector  _planePoint,
Vector  _planeNormal 
)

Generates a polyLine of a plane intersection.

Generates polyLines from a plane intersection.

Parameters
_objectIdid of the target object
_planePointa point on the cut plane
_planeNormalthe normal of the cut plane
Returns
returns the ids of the polyLine

Definition at line 163 of file PolyLineScripting.cc.

◆ getCuttedEdge()

template<class MeshT >
MeshT::EdgeHandle PolyLinePlugin::getCuttedEdge ( MeshT _mesh,
ACG::Vec3d _planeNormal,
ACG::Vec3d _planePoint 
)
private

get an edge of the mesh that is cut by the plane

Parameters
_meshthe mesh
_planeNormalnormal of the cut plane
_planePointpoint on the cut plane
Returns
the edge that is intersected and closest to _planePoint

Definition at line 233 of file PolyLinePluginT_impl.hh.

◆ getIntersectionPoints()

template<class MeshT >
std::vector< ACG::Vec3d > PolyLinePlugin::getIntersectionPoints ( MeshT _mesh,
uint  _fh,
ACG::Vec3d  _planeNormal,
ACG::Vec3d  _planePoint,
bool &  _closed 
)
private

get the points from the closest connected intersection between mesh and plane

Parameters
_meshthe mesh
_fha starting face that is intersected
_planeNormalnormal of the cut plane
_planePointpoint on the cut plane
_closedTODO find out what it's good for
Returns
a list of intersection points

Definition at line 204 of file PolyLinePluginT_impl.hh.

◆ getMultipleIntersectionPoints()

template<class MeshT >
std::vector< std::vector< ACG::Vec3d > > PolyLinePlugin::getMultipleIntersectionPoints ( MeshT _mesh,
ACG::Vec3d  _planeNormal,
ACG::Vec3d  _planePoint 
)
private

get all points from the intersection between mesh and plane

Parameters
_meshthe mesh
_planeNormalnormal of the cut plane
_planePointpoint on the cut plane
Returns
a list of intersection points for each connected intersection ring

Definition at line 283 of file PolyLinePluginT_impl.hh.

◆ getPointOnMesh()

ACG::Vec3d PolyLinePlugin::getPointOnMesh ( PolyLineBezierSplineData _SplineData,
ACG::Vec3d  _point,
ACG::Vec3d _nor = 0 
)
private

Returns the nearest point on the mesh or if none could be found the input.

Parameters
_SplineDataThe spline which is being used.
_pointThe input point.
_nor(Optional)Normal at nearest point.
Returns
The nearest point on the mesh from _point

Definition at line 62 of file PolyLinePlugin_BezierSpline.cc.

◆ initializePlugin

void PolyLinePlugin::initializePlugin ( )
privateslot

Definition at line 155 of file PolyLinePlugin.cc.

◆ me_copyPasteMouse()

void PolyLinePlugin::me_copyPasteMouse ( QMouseEvent *  _event)
private

Definition at line 2224 of file PolyLinePlugin.cc.

◆ me_delete()

void PolyLinePlugin::me_delete ( QMouseEvent *  _event)
private

Definition at line 1367 of file PolyLinePlugin.cc.

◆ me_insert()

void PolyLinePlugin::me_insert ( QMouseEvent *  _event)
private

Definition at line 965 of file PolyLinePlugin.cc.

◆ me_insertCircle()

void PolyLinePlugin::me_insertCircle ( QMouseEvent *  _event)
private

Definition at line 1118 of file PolyLinePlugin.cc.

◆ me_insertSpline()

void PolyLinePlugin::me_insertSpline ( QMouseEvent *  _event)
private

Definition at line 1290 of file PolyLinePlugin.cc.

◆ me_merge()

void PolyLinePlugin::me_merge ( QMouseEvent *  _event)
private

Definition at line 1760 of file PolyLinePlugin.cc.

◆ me_move()

void PolyLinePlugin::me_move ( QMouseEvent *  _event)
private

Definition at line 1448 of file PolyLinePlugin.cc.

◆ me_smart_move()

void PolyLinePlugin::me_smart_move ( QMouseEvent *  _event)
private

Definition at line 1982 of file PolyLinePlugin.cc.

◆ me_split()

void PolyLinePlugin::me_split ( QMouseEvent *  _event)
private

Definition at line 1652 of file PolyLinePlugin.cc.

◆ mode()

PolyLinePlugin::EditMode PolyLinePlugin::mode ( )
private

Definition at line 941 of file PolyLinePlugin.cc.

◆ name()

QString PolyLinePlugin::name ( void  )
inlinevirtual

Name of the Plugin.

Implements BaseInterface.

Definition at line 204 of file PolyLinePlugin.hh.

◆ pick_triangle_mesh

bool PolyLinePlugin::pick_triangle_mesh ( QPoint  mPos,
TriMeshObject *&  _mesh_object_,
TriMesh::FaceHandle &  _fh,
TriMesh::VertexHandle &  _vh,
ACG::Vec3d _hitPoint 
)
privateslot

Definition at line 2158 of file PolyLinePlugin.cc.

◆ pluginsInitialized

void PolyLinePlugin::pluginsInitialized ( )
privateslot

Definition at line 316 of file PolyLinePlugin.cc.

◆ slot_decimate

void PolyLinePlugin::slot_decimate ( )
privateslot

Definition at line 622 of file PolyLinePlugin.cc.

◆ slot_decimate_percent

void PolyLinePlugin::slot_decimate_percent ( bool  _checked)
privateslot

Definition at line 643 of file PolyLinePlugin.cc.

◆ slot_duplicate

void PolyLinePlugin::slot_duplicate ( )
privateslot

Definition at line 2299 of file PolyLinePlugin.cc.

◆ slot_instanciate

void PolyLinePlugin::slot_instanciate ( )
privateslot

Definition at line 2355 of file PolyLinePlugin.cc.

◆ slot_project [1/2]

void PolyLinePlugin::slot_project ( )
privateslot

Definition at line 794 of file PolyLinePlugin.cc.

◆ slot_project [2/2]

void PolyLinePlugin::slot_project ( PolyLineObject *&  _pol)
privateslot

Definition at line 828 of file PolyLinePlugin.cc.

◆ slot_setCirclePointNum

void PolyLinePlugin::slot_setCirclePointNum ( int  i)
privateslot

Definition at line 2074 of file PolyLinePlugin.cc.

◆ slot_setSplinePointNum

void PolyLinePlugin::slot_setSplinePointNum ( int  i)
privateslot

Definition at line 2085 of file PolyLinePlugin.cc.

◆ slot_smart_move_timer

void PolyLinePlugin::slot_smart_move_timer ( )
privateslot

Definition at line 904 of file PolyLinePlugin.cc.

◆ slot_smooth [1/2]

void PolyLinePlugin::slot_smooth ( )
privateslot

Definition at line 739 of file PolyLinePlugin.cc.

◆ slot_smooth [2/2]

void PolyLinePlugin::slot_smooth ( PolyLineObject *&  _pol)
privateslot

Definition at line 770 of file PolyLinePlugin.cc.

◆ slot_smooth_project [1/2]

void PolyLinePlugin::slot_smooth_project ( )
privateslot

Definition at line 862 of file PolyLinePlugin.cc.

◆ slot_smooth_project [2/2]

void PolyLinePlugin::slot_smooth_project ( PolyLineObject *&  _pol)
privateslot

Definition at line 883 of file PolyLinePlugin.cc.

◆ slot_subdivide

void PolyLinePlugin::slot_subdivide ( )
privateslot

Definition at line 553 of file PolyLinePlugin.cc.

◆ slot_subdivide_percent

void PolyLinePlugin::slot_subdivide_percent ( bool  _checked)
privateslot

Definition at line 579 of file PolyLinePlugin.cc.

◆ slotEditModeChanged

void PolyLinePlugin::slotEditModeChanged ( )
privateslot

Definition at line 2043 of file PolyLinePlugin.cc.

◆ slotEnablePickMode

void PolyLinePlugin::slotEnablePickMode ( const QString &  _name)
slot

Definition at line 2132 of file PolyLinePlugin.cc.

◆ slotKeyEvent

void PolyLinePlugin::slotKeyEvent ( QKeyEvent *  _event)
privateslot

Definition at line 273 of file PolyLinePlugin.cc.

◆ slotMouseEvent

void PolyLinePlugin::slotMouseEvent ( QMouseEvent *  _event)
privateslot

Definition at line 216 of file PolyLinePlugin.cc.

◆ slotObjectUpdated

void PolyLinePlugin::slotObjectUpdated ( int  _identifier,
const UpdateType _type 
)
privatevirtualslot

Definition at line 920 of file PolyLinePlugin.cc.

◆ slotPickModeChanged

void PolyLinePlugin::slotPickModeChanged ( const std::string &  _mode)
privateslot

Definition at line 303 of file PolyLinePlugin.cc.

◆ slotPickToolbarAction

void PolyLinePlugin::slotPickToolbarAction ( QAction *  _action)
privateslot

Called by pick Toolbar.

Definition at line 2096 of file PolyLinePlugin.cc.

◆ slotScissorButton

void PolyLinePlugin::slotScissorButton ( )
privateslot

Scissor Button was hit.

Definition at line 462 of file PolyLinePlugin.cc.

◆ slotScissorLinesButton

void PolyLinePlugin::slotScissorLinesButton ( )
privateslot

Scissor Button for multiple polylines was hit.

Scissor Button was hit.

Definition at line 473 of file PolyLinePlugin.cc.

◆ slotSetPolyLineMode

void PolyLinePlugin::slotSetPolyLineMode ( QAction *  _action)
privateslot

Called by Toolbar to enable pick mode.

Definition at line 2118 of file PolyLinePlugin.cc.

◆ slotTriggerCutPlaneSelect

void PolyLinePlugin::slotTriggerCutPlaneSelect ( )
privateslot

Generate PolyLine after the cutPlane has been drawn.

Definition at line 484 of file PolyLinePlugin.cc.

◆ slotUpdateContextMenu

void PolyLinePlugin::slotUpdateContextMenu ( int  objectId)
privateslot

Definition at line 2216 of file PolyLinePlugin.cc.

◆ updateHandles()

void PolyLinePlugin::updateHandles ( PolyLineObject _lineObject)
private

Updates the center, forward and side handle of the Poly ellipse.

Parameters
_lineObjectThe object containing the handles.

Definition at line 2053 of file PolyLinePlugin.cc.

◆ updatePolyBezierHandles()

void PolyLinePlugin::updatePolyBezierHandles ( PolyLineObject _lineObject,
ACG::SceneGraph::LineNode _line 
)
private

Updates all the handles on the PolyBezier.

Parameters
_lineObjectThe object to update.
_linethe line node containing all the handles

Definition at line 81 of file PolyLinePlugin_BezierSpline.cc.

◆ updatePolyBezierSpline()

void PolyLinePlugin::updatePolyBezierSpline ( PolyLineObject _lineObject,
unsigned int  _pointsPerSegment 
)
private

Generates points for the spline, updates handles.

Parameters
_lineObjectThe object to generate points for.
_pointsPerSegmentThe number of points per segment.

Definition at line 104 of file PolyLinePlugin_BezierSpline.cc.

◆ updatePolyEllipse()

void PolyLinePlugin::updatePolyEllipse ( PolyLineObject _lineObject,
unsigned int  _pointCount 
)
private

Generates points for the ellipse.

Parameters
_lineObjectThe object to generate points for.
_pointCountThe number of points to generate.

Definition at line 141 of file PolyLinePlugin_Circle.cc.

◆ version

QString PolyLinePlugin::version ( )
inlineslot

Definition at line 338 of file PolyLinePlugin.hh.

Member Data Documentation

◆ copyPaste_Action_

QAction* PolyLinePlugin::copyPaste_Action_
private

Definition at line 380 of file PolyLinePlugin.hh.

◆ copyPaste_ActionType_

int PolyLinePlugin::copyPaste_ActionType_
private

Definition at line 382 of file PolyLinePlugin.hh.

◆ copyPaste_LastMouse

QPoint PolyLinePlugin::copyPaste_LastMouse
private

Definition at line 385 of file PolyLinePlugin.hh.

◆ copyPaste_NewObjectId_

int PolyLinePlugin::copyPaste_NewObjectId_
private

Definition at line 383 of file PolyLinePlugin.hh.

◆ copyPaste_ObjectId_

int PolyLinePlugin::copyPaste_ObjectId_
private

Definition at line 381 of file PolyLinePlugin.hh.

◆ copyPaste_RelativePoints_

std::vector<ACG::Vec3d> PolyLinePlugin::copyPaste_RelativePoints_
private

Definition at line 384 of file PolyLinePlugin.hh.

◆ create_point_ref_

PolyLine::Point* PolyLinePlugin::create_point_ref_
private

Definition at line 365 of file PolyLinePlugin.hh.

◆ createCircle_CurrSelIndex_

int PolyLinePlugin::createCircle_CurrSelIndex_
private

The object which is being modified(created, dragged)

Definition at line 369 of file PolyLinePlugin.hh.

◆ createCircle_LastSelIndex_

int PolyLinePlugin::createCircle_LastSelIndex_
private

Use this one to mark the last index to update the number of points.

Definition at line 371 of file PolyLinePlugin.hh.

◆ createSpline_CurrSelIndex_

int PolyLinePlugin::createSpline_CurrSelIndex_
private

The index of the currently created spline.

Definition at line 490 of file PolyLinePlugin.hh.

◆ createSpline_LastSelIndex_

int PolyLinePlugin::createSpline_LastSelIndex_
private

Use this one to mark the last index to update the number of points.

Definition at line 492 of file PolyLinePlugin.hh.

◆ cur_insert_id_

int PolyLinePlugin::cur_insert_id_
private

Definition at line 360 of file PolyLinePlugin.hh.

◆ cur_merge_id_

int PolyLinePlugin::cur_merge_id_
private

Definition at line 501 of file PolyLinePlugin.hh.

◆ cur_move_id_

int PolyLinePlugin::cur_move_id_
private

Definition at line 363 of file PolyLinePlugin.hh.

◆ cur_polyline_obj_

PolyLineObject* PolyLinePlugin::cur_polyline_obj_
private

Definition at line 361 of file PolyLinePlugin.hh.

◆ cur_smart_move_obj_

PolyLineObject* PolyLinePlugin::cur_smart_move_obj_
private

Definition at line 505 of file PolyLinePlugin.hh.

◆ cutAction_

QAction* PolyLinePlugin::cutAction_
private

Called by pick Toolbar.

Definition at line 303 of file PolyLinePlugin.hh.

◆ cutMultipleAction_

QAction* PolyLinePlugin::cutMultipleAction_
private

Called by pick Toolbar.

Definition at line 304 of file PolyLinePlugin.hh.

◆ deleteAction_

QAction* PolyLinePlugin::deleteAction_
private

Called by pick Toolbar.

Definition at line 298 of file PolyLinePlugin.hh.

◆ insertAction_

QAction* PolyLinePlugin::insertAction_
private

Called by pick Toolbar.

Definition at line 295 of file PolyLinePlugin.hh.

◆ insertCircleAction_

QAction* PolyLinePlugin::insertCircleAction_
private

Called by pick Toolbar.

Definition at line 296 of file PolyLinePlugin.hh.

◆ insertSplineAction_

QAction* PolyLinePlugin::insertSplineAction_
private

Called by pick Toolbar.

Definition at line 297 of file PolyLinePlugin.hh.

◆ mergeAction_

QAction* PolyLinePlugin::mergeAction_
private

Called by pick Toolbar.

Definition at line 301 of file PolyLinePlugin.hh.

◆ move_point_orig_

PolyLine::Point PolyLinePlugin::move_point_orig_
private

Definition at line 366 of file PolyLinePlugin.hh.

◆ move_point_ref_

PolyLine::Point* PolyLinePlugin::move_point_ref_
private

Definition at line 364 of file PolyLinePlugin.hh.

◆ moveAction_

QAction* PolyLinePlugin::moveAction_
private

Called by pick Toolbar.

Definition at line 299 of file PolyLinePlugin.hh.

◆ moveBezSpline_SelIndex_

int PolyLinePlugin::moveBezSpline_SelIndex_
private

The object which is being moved.

Definition at line 497 of file PolyLinePlugin.hh.

◆ moveBezSpline_SelNode_

ACG::SceneGraph::GlutPrimitiveNode* PolyLinePlugin::moveBezSpline_SelNode_
private

The handle which is being dragged.

Definition at line 495 of file PolyLinePlugin.hh.

◆ moveBezSpline_SelSubIndex_

int PolyLinePlugin::moveBezSpline_SelSubIndex_
private

The index of the control or handle being moved.

Definition at line 499 of file PolyLinePlugin.hh.

◆ moveCircle_IsFloating

bool PolyLinePlugin::moveCircle_IsFloating
private

Definition at line 378 of file PolyLinePlugin.hh.

◆ moveCircle_IsLocked

bool PolyLinePlugin::moveCircle_IsLocked
private

Definition at line 377 of file PolyLinePlugin.hh.

◆ moveCircle_LastHitNor_

ACG::Vec3d PolyLinePlugin::moveCircle_LastHitNor_
private

Definition at line 376 of file PolyLinePlugin.hh.

◆ moveCircle_LastHitPos_

ACG::Vec3d PolyLinePlugin::moveCircle_LastHitPos_
private

The last valid hit on the mesh.

Definition at line 375 of file PolyLinePlugin.hh.

◆ moveCircle_SelNode_

ACG::SceneGraph::GlutPrimitiveNode* PolyLinePlugin::moveCircle_SelNode_
private

The handle which is being dragged.

Definition at line 373 of file PolyLinePlugin.hh.

◆ pickToolbar_

QToolBar* PolyLinePlugin::pickToolbar_
private

Called by pick Toolbar.

Definition at line 292 of file PolyLinePlugin.hh.

◆ pickToolBarActions_

QActionGroup* PolyLinePlugin::pickToolBarActions_
private

Called by pick Toolbar.

Definition at line 293 of file PolyLinePlugin.hh.

◆ planeSelect_

QtPlaneSelect* PolyLinePlugin::planeSelect_
private

Plane selection tool.

Definition at line 508 of file PolyLinePlugin.hh.

◆ polyLineAction_

QAction* PolyLinePlugin::polyLineAction_
private

Called by Toolbar to enable pick mode.

Definition at line 274 of file PolyLinePlugin.hh.

◆ smart_move_timer_

QTimer* PolyLinePlugin::smart_move_timer_
private

Definition at line 503 of file PolyLinePlugin.hh.

◆ smartMoveAction_

QAction* PolyLinePlugin::smartMoveAction_
private

Called by pick Toolbar.

Definition at line 300 of file PolyLinePlugin.hh.

◆ splitAction_

QAction* PolyLinePlugin::splitAction_
private

Called by pick Toolbar.

Definition at line 302 of file PolyLinePlugin.hh.

◆ tool_

PolyLineToolbarWidget* PolyLinePlugin::tool_
private

Widget for Toolbox.

Definition at line 261 of file PolyLinePlugin.hh.

◆ toolbar_

QToolBar* PolyLinePlugin::toolbar_
private

Called by Toolbar to enable pick mode.

Definition at line 277 of file PolyLinePlugin.hh.

◆ toolBarActions_

QActionGroup* PolyLinePlugin::toolBarActions_
private

Called by Toolbar to enable pick mode.

Definition at line 275 of file PolyLinePlugin.hh.

◆ toolIcon_

QIcon* PolyLinePlugin::toolIcon_
private

Icon for the toolbox.

Definition at line 264 of file PolyLinePlugin.hh.


The documentation for this class was generated from the following files: