ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvGenericMeasurementTools Class Referenceabstract

Generic Measurement Tools interface. More...

#include <ecvGenericMeasurementTools.h>

Inheritance diagram for ecvGenericMeasurementTools:
Collaboration diagram for ecvGenericMeasurementTools:

Public Types

enum  MeasurementType { DISTANCE_WIDGET , CONTOUR_WIDGET , PROTRACTOR_WIDGET }
 

Signals

void measurementChanged ()
 Signal sent when the measurement changes. More...
 
void pointPickingRequested (int pointIndex)
 
void pointPickingCancelled ()
 Signal sent when point picking is cancelled. More...
 

Public Member Functions

 ecvGenericMeasurementTools (MeasurementType type=MeasurementType::DISTANCE_WIDGET)
 Default constructor. More...
 
virtual ~ecvGenericMeasurementTools ()
 Destructor. More...
 
virtual bool setInputData (ccHObject *entity)=0
 Sets the input entity. More...
 
virtual bool start ()=0
 Starts the measurement tool. More...
 
virtual void reset ()=0
 Resets the measurement tool. More...
 
virtual void clear ()=0
 Clears the measurement tool. More...
 
virtual void update ()
 Updates the display. More...
 
virtual QWidget * getMeasurementWidget ()=0
 Returns the measurement widget. More...
 
virtual ccHObjectgetOutput () const =0
 Returns the output (if any) More...
 
virtual double getMeasurementValue () const =0
 Get measurement value (distance or angle) More...
 
virtual void getPoint1 (double pos[3]) const =0
 Get point 1 coordinates. More...
 
virtual void getPoint2 (double pos[3]) const =0
 Get point 2 coordinates. More...
 
virtual void getCenter (double pos[3]) const =0
 Get center point coordinates (for angle/protractor) More...
 
virtual void setPoint1 (double pos[3])=0
 Set point 1 coordinates. More...
 
virtual void setPoint2 (double pos[3])=0
 Set point 2 coordinates. More...
 
virtual void setCenter (double pos[3])=0
 Set center point coordinates (for angle/protractor) More...
 
virtual void setColor (double r, double g, double b)=0
 Set measurement color (RGB values in range [0.0, 1.0]) More...
 
virtual void lockInteraction ()=0
 Lock tool interaction (disable VTK widget and UI controls) More...
 
virtual void unlockInteraction ()=0
 Unlock tool interaction (enable VTK widget and UI controls) More...
 
virtual void setInstanceLabel (const QString &label)=0
 Set instance label suffix (e.g., "#1", "#2") for display in 3D view. More...
 
virtual void setFontFamily (const QString &family)=0
 
virtual void setFontSize (int size)=0
 Set font size for measurement labels. More...
 
virtual void setBold (bool bold)=0
 Set font bold state for measurement labels. More...
 
virtual void setItalic (bool italic)=0
 Set font italic state for measurement labels. More...
 
virtual void setShadow (bool shadow)=0
 Set font shadow state for measurement labels. More...
 
virtual void setFontOpacity (double opacity)=0
 Set font opacity for measurement labels (0.0 to 1.0) More...
 
virtual void setFontColor (double r, double g, double b)=0
 Set font color for measurement labels (RGB values 0.0-1.0) More...
 
virtual void setHorizontalJustification (const QString &justification)=0
 
virtual void setVerticalJustification (const QString &justification)=0
 
virtual void setupShortcuts (QWidget *win)
 Setup keyboard shortcuts bound to the render window widget. More...
 
virtual void disableShortcuts ()
 Disable keyboard shortcuts (called before tool destruction) More...
 
virtual void clearPickingCache ()
 Clear picking cache (called when scene/camera changes) More...
 
MeasurementType getMeasurementType ()
 

Protected Member Functions

virtual void initialize ()=0
 

Protected Attributes

MeasurementType m_measurementType
 
ccHObjectm_associatedEntity
 

Detailed Description

Generic Measurement Tools interface.

Definition at line 19 of file ecvGenericMeasurementTools.h.

Member Enumeration Documentation

◆ MeasurementType

Enumerator
DISTANCE_WIDGET 
CONTOUR_WIDGET 
PROTRACTOR_WIDGET 

Definition at line 22 of file ecvGenericMeasurementTools.h.

Constructor & Destructor Documentation

◆ ecvGenericMeasurementTools()

ecvGenericMeasurementTools::ecvGenericMeasurementTools ( MeasurementType  type = MeasurementType::DISTANCE_WIDGET)

Default constructor.

Parameters
typeMeasurementType type

Definition at line 12 of file ecvGenericMeasurementTools.cpp.

◆ ~ecvGenericMeasurementTools()

ecvGenericMeasurementTools::~ecvGenericMeasurementTools ( )
virtual

Destructor.

Definition at line 15 of file ecvGenericMeasurementTools.cpp.

Member Function Documentation

◆ clear()

virtual void ecvGenericMeasurementTools::clear ( )
pure virtual

Clears the measurement tool.

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::removeInstance().

◆ clearPickingCache()

virtual void ecvGenericMeasurementTools::clearPickingCache ( )
inlinevirtual

Clear picking cache (called when scene/camera changes)

Reimplemented in PclMeasurementTools.

Definition at line 125 of file ecvGenericMeasurementTools.h.

◆ disableShortcuts()

virtual void ecvGenericMeasurementTools::disableShortcuts ( )
inlinevirtual

Disable keyboard shortcuts (called before tool destruction)

Reimplemented in PclMeasurementTools.

Definition at line 122 of file ecvGenericMeasurementTools.h.

Referenced by ecvMeasurementTool::removeInstance().

◆ getCenter()

virtual void ecvGenericMeasurementTools::getCenter ( double  pos[3]) const
pure virtual

Get center point coordinates (for angle/protractor)

Implemented in PclMeasurementTools.

◆ getMeasurementType()

MeasurementType ecvGenericMeasurementTools::getMeasurementType ( )
inline

◆ getMeasurementValue()

virtual double ecvGenericMeasurementTools::getMeasurementValue ( ) const
pure virtual

Get measurement value (distance or angle)

Implemented in PclMeasurementTools.

◆ getMeasurementWidget()

virtual QWidget* ecvGenericMeasurementTools::getMeasurementWidget ( )
pure virtual

◆ getOutput()

virtual ccHObject* ecvGenericMeasurementTools::getOutput ( ) const
pure virtual

Returns the output (if any)

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::exportMeasurement().

◆ getPoint1()

virtual void ecvGenericMeasurementTools::getPoint1 ( double  pos[3]) const
pure virtual

Get point 1 coordinates.

Implemented in PclMeasurementTools.

◆ getPoint2()

virtual void ecvGenericMeasurementTools::getPoint2 ( double  pos[3]) const
pure virtual

Get point 2 coordinates.

Implemented in PclMeasurementTools.

◆ initialize()

virtual void ecvGenericMeasurementTools::initialize ( )
protectedpure virtual

Implemented in PclMeasurementTools.

◆ lockInteraction()

virtual void ecvGenericMeasurementTools::lockInteraction ( )
pure virtual

Lock tool interaction (disable VTK widget and UI controls)

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::setMeasurementTool().

◆ measurementChanged

void ecvGenericMeasurementTools::measurementChanged ( )
signal

◆ pointPickingCancelled

void ecvGenericMeasurementTools::pointPickingCancelled ( )
signal

Signal sent when point picking is cancelled.

Referenced by PclMeasurementTools::initialize(), and ecvMeasurementTool::setMeasurementTool().

◆ pointPickingRequested

void ecvGenericMeasurementTools::pointPickingRequested ( int  pointIndex)
signal

Signal sent when point picking is requested

Parameters
pointIndex1=point1, 2=point2, 3=center

Referenced by PclMeasurementTools::initialize(), and ecvMeasurementTool::setMeasurementTool().

◆ reset()

virtual void ecvGenericMeasurementTools::reset ( )
pure virtual

Resets the measurement tool.

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::reset().

◆ setBold()

virtual void ecvGenericMeasurementTools::setBold ( bool  bold)
pure virtual

◆ setCenter()

virtual void ecvGenericMeasurementTools::setCenter ( double  pos[3])
pure virtual

Set center point coordinates (for angle/protractor)

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::onItemPicked().

◆ setColor()

virtual void ecvGenericMeasurementTools::setColor ( double  r,
double  g,
double  b 
)
pure virtual

Set measurement color (RGB values in range [0.0, 1.0])

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::applyColorToAllTools(), ecvMeasurementTool::createMeasurementTool(), and ecvMeasurementTool::setMeasurementTool().

◆ setFontColor()

virtual void ecvGenericMeasurementTools::setFontColor ( double  r,
double  g,
double  b 
)
pure virtual

Set font color for measurement labels (RGB values 0.0-1.0)

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::applyFontToTools(), ecvMeasurementTool::createMeasurementTool(), and ecvMeasurementTool::setMeasurementTool().

◆ setFontFamily()

virtual void ecvGenericMeasurementTools::setFontFamily ( const QString &  family)
pure virtual

Set font family for measurement labels (e.g., "Arial", "Times New Roman")

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::applyFontToTools(), ecvMeasurementTool::createMeasurementTool(), and ecvMeasurementTool::setMeasurementTool().

◆ setFontOpacity()

virtual void ecvGenericMeasurementTools::setFontOpacity ( double  opacity)
pure virtual

Set font opacity for measurement labels (0.0 to 1.0)

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::applyFontToTools(), ecvMeasurementTool::createMeasurementTool(), and ecvMeasurementTool::setMeasurementTool().

◆ setFontSize()

virtual void ecvGenericMeasurementTools::setFontSize ( int  size)
pure virtual

◆ setHorizontalJustification()

virtual void ecvGenericMeasurementTools::setHorizontalJustification ( const QString &  justification)
pure virtual

Set horizontal justification for measurement labels ("Left", "Center", "Right")

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::applyFontToTools(), ecvMeasurementTool::createMeasurementTool(), and ecvMeasurementTool::setMeasurementTool().

◆ setInputData()

virtual bool ecvGenericMeasurementTools::setInputData ( ccHObject entity)
pure virtual

Sets the input entity.

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::createMeasurementTool().

◆ setInstanceLabel()

virtual void ecvGenericMeasurementTools::setInstanceLabel ( const QString &  label)
pure virtual

Set instance label suffix (e.g., "#1", "#2") for display in 3D view.

Implemented in PclMeasurementTools.

◆ setItalic()

virtual void ecvGenericMeasurementTools::setItalic ( bool  italic)
pure virtual

◆ setPoint1()

virtual void ecvGenericMeasurementTools::setPoint1 ( double  pos[3])
pure virtual

Set point 1 coordinates.

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::onItemPicked().

◆ setPoint2()

virtual void ecvGenericMeasurementTools::setPoint2 ( double  pos[3])
pure virtual

Set point 2 coordinates.

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::onItemPicked().

◆ setShadow()

virtual void ecvGenericMeasurementTools::setShadow ( bool  shadow)
pure virtual

◆ setupShortcuts()

virtual void ecvGenericMeasurementTools::setupShortcuts ( QWidget *  win)
inlinevirtual

Setup keyboard shortcuts bound to the render window widget.

Reimplemented in PclMeasurementTools.

Definition at line 119 of file ecvGenericMeasurementTools.h.

Referenced by ecvMeasurementTool::addInstance().

◆ setVerticalJustification()

virtual void ecvGenericMeasurementTools::setVerticalJustification ( const QString &  justification)
pure virtual

Set vertical justification for measurement labels ("Top", "Center", "Bottom")

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::applyFontToTools(), ecvMeasurementTool::createMeasurementTool(), and ecvMeasurementTool::setMeasurementTool().

◆ start()

virtual bool ecvGenericMeasurementTools::start ( )
pure virtual

Starts the measurement tool.

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::createMeasurementTool().

◆ unlockInteraction()

virtual void ecvGenericMeasurementTools::unlockInteraction ( )
pure virtual

Unlock tool interaction (enable VTK widget and UI controls)

Implemented in PclMeasurementTools.

Referenced by ecvMeasurementTool::switchToToolUI().

◆ update()

void ecvGenericMeasurementTools::update ( )
virtual

Updates the display.

Definition at line 19 of file ecvGenericMeasurementTools.cpp.

References ecvDisplayTools::UpdateScreen().

Member Data Documentation

◆ m_associatedEntity

ccHObject* ecvGenericMeasurementTools::m_associatedEntity
protected

Definition at line 145 of file ecvGenericMeasurementTools.h.

Referenced by PclMeasurementTools::setInputData().

◆ m_measurementType

MeasurementType ecvGenericMeasurementTools::m_measurementType
protected

Definition at line 144 of file ecvGenericMeasurementTools.h.

Referenced by PclMeasurementTools::initialize().


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