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

◆ ~ecvGenericMeasurementTools()

virtual ecvGenericMeasurementTools::~ecvGenericMeasurementTools ( )
virtual

Destructor.

Member Function Documentation

◆ clear()

virtual void ecvGenericMeasurementTools::clear ( )
pure virtual

Clears the measurement tool.

Referenced by ecvMeasurementTool::removeInstance().

◆ clearPickingCache()

virtual void ecvGenericMeasurementTools::clearPickingCache ( )
inlinevirtual

Clear picking cache (called when scene/camera changes)

Definition at line 125 of file ecvGenericMeasurementTools.h.

◆ disableShortcuts()

virtual void ecvGenericMeasurementTools::disableShortcuts ( )
inlinevirtual

Disable keyboard shortcuts (called before tool destruction)

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)

◆ getMeasurementType()

MeasurementType ecvGenericMeasurementTools::getMeasurementType ( )
inline

◆ getMeasurementValue()

virtual double ecvGenericMeasurementTools::getMeasurementValue ( ) const
pure virtual

Get measurement value (distance or angle)

◆ getMeasurementWidget()

virtual QWidget* ecvGenericMeasurementTools::getMeasurementWidget ( )
pure virtual

◆ getOutput()

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

Returns the output (if any)

Referenced by ecvMeasurementTool::exportMeasurement().

◆ getPoint1()

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

Get point 1 coordinates.

◆ getPoint2()

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

Get point 2 coordinates.

◆ initialize()

virtual void ecvGenericMeasurementTools::initialize ( )
protectedpure virtual

◆ lockInteraction()

virtual void ecvGenericMeasurementTools::lockInteraction ( )
pure virtual

Lock tool interaction (disable VTK widget and UI controls)

Referenced by ecvMeasurementTool::setMeasurementTool().

◆ measurementChanged

void ecvGenericMeasurementTools::measurementChanged ( )
signal

Signal sent when the measurement changes.

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

◆ pointPickingCancelled

void ecvGenericMeasurementTools::pointPickingCancelled ( )
signal

Signal sent when point picking is cancelled.

Referenced by 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 ecvMeasurementTool::setMeasurementTool().

◆ reset()

virtual void ecvGenericMeasurementTools::reset ( )
pure virtual

Resets the measurement tool.

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)

Referenced by ecvMeasurementTool::onItemPicked().

◆ setColor()

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

◆ 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)

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")

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

◆ setFontOpacity()

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

◆ 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")

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

◆ setInputData()

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

Sets the input entity.

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.

◆ setItalic()

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

◆ setPoint1()

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

Set point 1 coordinates.

Referenced by ecvMeasurementTool::onItemPicked().

◆ setPoint2()

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

Set point 2 coordinates.

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.

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")

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

◆ start()

virtual bool ecvGenericMeasurementTools::start ( )
pure virtual

Starts the measurement tool.

Referenced by ecvMeasurementTool::createMeasurementTool().

◆ unlockInteraction()

virtual void ecvGenericMeasurementTools::unlockInteraction ( )
pure virtual

Unlock tool interaction (enable VTK widget and UI controls)

Referenced by ecvMeasurementTool::switchToToolUI().

◆ update()

virtual void ecvGenericMeasurementTools::update ( )
virtual

Updates the display.

Member Data Documentation

◆ m_associatedEntity

ccHObject* ecvGenericMeasurementTools::m_associatedEntity
protected

Definition at line 145 of file ecvGenericMeasurementTools.h.

◆ m_measurementType

MeasurementType ecvGenericMeasurementTools::m_measurementType
protected

Definition at line 144 of file ecvGenericMeasurementTools.h.


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