ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ccTracePolylineTool Class Reference

Graphical Polyline Tracing tool. More...

#include <ecvTracePolylineTool.h>

Inheritance diagram for ccTracePolylineTool:
Collaboration diagram for ccTracePolylineTool:

Classes

struct  SegmentGLParams
 Viewport parameters (used for picking) More...
 

Public Member Functions

 ccTracePolylineTool (ccPickingHub *pickingHub, QWidget *parent)
 Default constructor. More...
 
virtual ~ccTracePolylineTool ()
 Destructor. More...
 
virtual bool linkWith (QWidget *win) override
 Links the overlay dialog with a MDI window. More...
 
virtual bool start () override
 Starts process. More...
 
virtual void stop (bool accepted) override
 Stops process/dialog. More...
 
- Public Member Functions inherited from ccOverlayDialog
 ccOverlayDialog (QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::FramelessWindowHint|Qt::Tool)
 Default constructor. More...
 
 ~ccOverlayDialog () override
 Destructor. More...
 
void reject () override
 
void addOverridenShortcut (Qt::Key key)
 
bool started () const
 Returns whether the tool is currently started or not. More...
 
- Public Member Functions inherited from ccPickingListener
virtual ~ccPickingListener ()=default
 
virtual void onItemPicked (const PickedItem &pi)=0
 Method called whenever an item is picked. More...
 

Protected Slots

void apply ()
 
void cancel ()
 
void exportLine ()
 
void continueEdition ()
 
void resetLine ()
 
void closePolyLine (int x=0, int y=0)
 
void updatePolyLineTip (int x, int y, Qt::MouseButtons buttons)
 
void onWidthSizeChanged (int)
 
void onShortcutTriggered (int)
 To capture overridden shortcuts (pause button, etc.) More...
 
virtual void onItemPicked (const PickedItem &pi) override
 Inherited from ccPickingListener. More...
 
- Protected Slots inherited from ccOverlayDialog
virtual void onLinkedWindowDeletion (QObject *object=nullptr)
 Slot called when the linked window is deleted (calls 'onClose') More...
 

Protected Member Functions

void restart (bool reset)
 Restarts the edition mode. More...
 
void resetTip ()
 
void updateTip ()
 
void resetPoly3D ()
 
void updatePoly3D ()
 
ccPolylinepolylineOverSampling (unsigned steps) const
 Oversamples the active 3D polyline. More...
 
- Protected Member Functions inherited from ccOverlayDialog
bool eventFilter (QObject *obj, QEvent *e) override
 

Protected Attributes

ccPolylinem_polyTip
 2D polyline (for the currently edited part) More...
 
ccPointCloudm_polyTipVertices
 2D polyline vertices More...
 
ccPolylinem_poly3D
 3D polyline More...
 
ccPointCloudm_poly3DVertices
 3D polyline vertices More...
 
std::vector< SegmentGLParamsm_segmentParams
 Viewport parameters use to draw each segment of the polyline. More...
 
bool m_done
 Current process state. More...
 
ccPickingHubm_pickingHub
 Picking hub. More...
 
- Protected Attributes inherited from ccOverlayDialog
QWidget * m_associatedWin
 Associated (MDI) window. More...
 
bool m_processing
 Running/processing state. More...
 
QList< int > m_overriddenKeys
 Overridden keys. More...
 

Additional Inherited Members

- Signals inherited from ccOverlayDialog
void processFinished (bool accepted)
 Signal emitted when process is finished. More...
 
void shortcutTriggered (int key)
 Signal emitted when an overridden key shortcut is pressed. More...
 
void shown ()
 Signal emitted when a 'show' event is detected. More...
 

Detailed Description

Graphical Polyline Tracing tool.

Definition at line 28 of file ecvTracePolylineTool.h.

Constructor & Destructor Documentation

◆ ccTracePolylineTool()

◆ ~ccTracePolylineTool()

ccTracePolylineTool::~ccTracePolylineTool ( )
virtual

Destructor.

Definition at line 107 of file ecvTracePolylineTool.cpp.

References m_poly3D, and m_polyTip.

Member Function Documentation

◆ apply

void ccTracePolylineTool::apply ( )
protectedslot

Definition at line 592 of file ecvTracePolylineTool.cpp.

References exportLine(), and stop().

Referenced by ccTracePolylineTool(), and onShortcutTriggered().

◆ cancel

void ccTracePolylineTool::cancel ( )
protectedslot

Definition at line 597 of file ecvTracePolylineTool.cpp.

References resetLine(), and stop().

Referenced by ccTracePolylineTool(), and onShortcutTriggered().

◆ closePolyLine

void ccTracePolylineTool::closePolyLine ( int  x = 0,
int  y = 0 
)
protectedslot

◆ continueEdition

void ccTracePolylineTool::continueEdition ( )
inlineprotectedslot

Definition at line 49 of file ecvTracePolylineTool.h.

References restart().

Referenced by ccTracePolylineTool().

◆ exportLine

◆ linkWith()

bool ccTracePolylineTool::linkWith ( QWidget *  win)
overridevirtual

Links the overlay dialog with a MDI window.

Warning: link can't be modified while dialog is displayed/process is running!

Returns
success

Reimplemented from ccOverlayDialog.

Definition at line 263 of file ecvTracePolylineTool.cpp.

References closePolyLine(), ccOverlayDialog::linkWith(), m_poly3D, m_polyTip, ecvDisplayTools::mouseMoved(), ecvDisplayTools::rightButtonClicked(), ecvDisplayTools::TheInstance(), and updatePolyLineTip().

◆ onItemPicked

◆ onShortcutTriggered

void ccTracePolylineTool::onShortcutTriggered ( int  key)
protectedslot

To capture overridden shortcuts (pause button, etc.)

Definition at line 119 of file ecvTracePolylineTool.cpp.

References apply(), and cancel().

Referenced by ccTracePolylineTool().

◆ onWidthSizeChanged

void ccTracePolylineTool::onWidthSizeChanged ( int  width)
protectedslot

◆ polylineOverSampling()

◆ resetLine

void ccTracePolylineTool::resetLine ( )
inlineprotectedslot

Definition at line 50 of file ecvTracePolylineTool.h.

References restart().

Referenced by cancel(), ccTracePolylineTool(), closePolyLine(), exportLine(), and start().

◆ resetPoly3D()

void ccTracePolylineTool::resetPoly3D ( )
protected

◆ resetTip()

void ccTracePolylineTool::resetTip ( )
protected

◆ restart()

void ccTracePolylineTool::restart ( bool  reset)
protected

◆ start()

◆ stop()

void ccTracePolylineTool::stop ( bool  accepted)
overridevirtual

◆ updatePoly3D()

void ccTracePolylineTool::updatePoly3D ( )
protected

◆ updatePolyLineTip

◆ updateTip()

void ccTracePolylineTool::updateTip ( )
protected

Member Data Documentation

◆ m_done

bool ccTracePolylineTool::m_done
protected

Current process state.

Definition at line 102 of file ecvTracePolylineTool.h.

Referenced by closePolyLine(), restart(), and updatePolyLineTip().

◆ m_pickingHub

ccPickingHub* ccTracePolylineTool::m_pickingHub
protected

Picking hub.

Definition at line 105 of file ecvTracePolylineTool.h.

Referenced by closePolyLine(), restart(), start(), and stop().

◆ m_poly3D

◆ m_poly3DVertices

ccPointCloud* ccTracePolylineTool::m_poly3DVertices
protected

3D polyline vertices

Definition at line 96 of file ecvTracePolylineTool.h.

Referenced by exportLine(), onItemPicked(), polylineOverSampling(), restart(), and updatePolyLineTip().

◆ m_polyTip

ccPolyline* ccTracePolylineTool::m_polyTip
protected

◆ m_polyTipVertices

ccPointCloud* ccTracePolylineTool::m_polyTipVertices
protected

2D polyline vertices

Definition at line 91 of file ecvTracePolylineTool.h.

Referenced by ccTracePolylineTool(), onItemPicked(), and updatePolyLineTip().

◆ m_segmentParams

std::vector<SegmentGLParams> ccTracePolylineTool::m_segmentParams
protected

Viewport parameters use to draw each segment of the polyline.

Definition at line 99 of file ecvTracePolylineTool.h.

Referenced by exportLine(), onItemPicked(), polylineOverSampling(), and restart().


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