qCC version 2.13.alpha (Qt) - 31 May 2022
Main CloudCompare application (GUI & command line)
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ccPointPairRegistrationDlg Class Reference
Inheritance diagram for ccPointPairRegistrationDlg:
Inheritance graph
[legend]
Collaboration diagram for ccPointPairRegistrationDlg:
Collaboration graph
[legend]

Classes

struct  EntityContext
 Entity original context. More...
 
struct  EntityContexts
 Set of contexts. More...
 

Public Member Functions

 ccPointPairRegistrationDlg (ccPickingHub *pickingHub, ccMainAppInterface *app, QWidget *parent=nullptr)
 Default constructor.
 
bool linkWith (ccGLWindow *win) override
 
bool start () override
 
void stop (bool state) override
 
bool init (ccGLWindow *win, const ccHObject::Container &alignedEntities, const ccHObject::Container *referenceEntities=nullptr)
 Inits dialog.
 
void clear ()
 Clears dialog.
 
void pause (bool state)
 Pauses the dialog.
 
bool addAlignedPoint (CCVector3d &P, ccHObject *entity=nullptr, bool shifted=true)
 Adds a point to the 'align' set.
 
bool addReferencePoint (CCVector3d &P, ccHObject *entity=nullptr, bool shifted=true)
 Adds a point to the 'reference' set.
 
void removeAlignedPoint (int index, bool autoRemoveDualPoint=true)
 Removes a point from the 'align' set.
 
void removeRefPoint (int index, bool autoRemoveDualPoint=true)
 Removes a point from the 'reference' set.
 
void onItemPicked (const PickedItem &pi) override
 Inherited from ccPickingListener.
 

Protected Member Functions

void showAlignedEntities (bool)
 Slot called to change aligned entities visibility.
 
void showReferenceEntities (bool)
 Slot called to change reference entities visibility.
 
void addManualAlignedPoint ()
 Slot called to add a manual point to the 'align' set.
 
void addManualRefPoint ()
 Slot called to add a manual point to the 'reference' set.
 
void unstackAligned ()
 Slot called to remove the last point on the 'align' stack.
 
void unstackRef ()
 Slot called to remove the last point on the 'reference' stack.
 
void onDelButtonPushed ()
 Slot called when a "delete" button is pushed.
 
void updateAlignInfo ()
 Updates the registration info and buttons states.
 
void apply ()
 
void align ()
 
void reset ()
 
void cancel ()
 
void onPointCountChanged ()
 Enables (or not) buttons depending on the number of points in both lists.
 
bool callHornRegistration (CCCoreLib::PointProjectionTools::Transformation &trans, double &rms, bool autoUpdateTab)
 Calls Horn registration (CCCoreLib::HornRegistrationTools)
 
void clearRMSColumns ()
 Clears the RMS rows.
 
void addPointToTable (QTableWidget *tableWidget, int rowIndex, const CCVector3d &P, QString pointLabel)
 Adds a point to one of the table (ref./aligned)
 
bool convertToSphereCenter (CCVector3d &P, ccHObject *entity, PointCoordinateType &sphereRadius)
 Converts a picked point to a sphere center (if necessary) More...
 
void resetTitle ()
 Resets the displayed title (3D view)
 
void removeLabel (ccPointCloud &points, unsigned childIndex, const EntityContexts &entities)
 Removes a label (and restore its associated label if any)
 

Protected Attributes

EntityContexts m_alignedEntities
 Aligned entity.
 
ccPointCloud m_alignedPoints
 Aligned points set.
 
EntityContexts m_referenceEntities
 Reference entity (if any)
 
ccPointCloud m_refPoints
 Reference points set.
 
ccGLWindow * m_win
 Dedicated window.
 
bool m_paused
 Whether the dialog is paused or not.
 
ccPickingHub * m_pickingHub
 Picking hub.
 
ccMainAppInterface * m_app
 Main application interface.
 

Member Function Documentation

◆ convertToSphereCenter()

bool ccPointPairRegistrationDlg::convertToSphereCenter ( CCVector3d &  P,
ccHObject *  entity,
PointCoordinateType &  sphereRadius 
)
protected

Converts a picked point to a sphere center (if necessary)

Parameters
Pinput point (may be converted to a sphere center)
entityassociated entity
sphereRadiusthe detected spherer radius (or -1 if no sphere)
Returns
whether the point can be used or not

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