ImFusion C++ SDK 4.5.0
ImFusion::CT::internal::KeyPointWidgetInternal Class Reference

#include <ImFusion/CT/GUI/XRay2D3DRegistrationInitializationKeyPointsController.h>

The following class is used internally, the private implementation details are exposed here only to satisfy AutoMoc; this class should not be used. More...

Inheritance diagram for ImFusion::CT::internal::KeyPointWidgetInternal:

Detailed Description

The following class is used internally, the private implementation details are exposed here only to satisfy AutoMoc; this class should not be used.

Public Member Functions

 KeyPointWidgetInternal (QWidget *parent, int numShots, const std::string &keyIn, XRay2D3DRegistrationInitializationKeyPointsController *keyPointAlg, MainWindowBase *main, ImageView2D *view2D, ViewGroup *viewGroup)
void afterInitialization ()
void addShotAnnot (int i)
 Initializes the shot annotation with interaction mode "create".
void updateShotAnnot (int i, vec3 shotTargetPoint)
 Sets the shot annotation for shot idx to the given target points, initializes the annotation with interaction mode "none" if the annotation does not exist.
void unsetShotAnnot (int i)
void addVolumeAnnot ()
 Initializes the volume annotation with interaction mode "create".
void updateVolumeAnnot (vec3 volTargetPoint)
 Sets the volume annotation to the given target points, initializes the annotation with interaction mode "none" if the annotation does not exist.
void unsetVolumeAnnot ()
void unsetEpipolarLineAnnot (int shotIndex)
 Epipolar line annotation methods.
void updateEpipolarLineAnnot (int shotIndex)
void updateTargetPointRays (int i)
 Target point rays method.
void updateShotErrorLineAnnot (int i)
 Shot error line annotation method.
void clearKeyPoint ()
 Clear keypoint widget and its relevant annotations.
std::string key ()
void onManipulatorEvent (Manipulator *src, void *eventDataRaw)
 Implementation of the ManipulatorListener event.
std::vector< std::unique_ptr< Interactive< GlPoint > > > & shotAnnots ()
 Getter methods for annnotations.
std::unique_ptr< Interactive< GlPoint > > & volAnnot ()
std::vector< std::vector< std::unique_ptr< Interactive< GlLine > > > > & epipolarLineAnnot ()
std::vector< std::unique_ptr< Interactive< GlLine > > > & targetPointRaysAnnot ()
std::vector< std::unique_ptr< Interactive< GlLine > > > & shotErrorLines ()
std::vector< bool > shotAnnotsSet ()
bool volAnnotsSet ()
Public Member Functions inherited from ImFusion::SignalReceiver
 SignalReceiver ()=default
 Default constructor.
 SignalReceiver (const SignalReceiver &other)
 Copy constructor, does not copy any existing signal connections from other.
SignalReceiveroperator= (SignalReceiver rhs)
 Assignment operator, disconnects all existing connections, does not copy any existing signal connections from rhs.
virtual ~SignalReceiver ()
 Virtual destructor disconnects from all connected signals.

Public Attributes

Signal< int > signalShotKeypointSet
 This is emitted whenever user has finished creating a shot keypoint.

Protected Attributes

std::string m_key
std::vector< QPushButton * > m_shotButtons
QPushButton * m_volButton = nullptr
QPushButton * m_keyReset = nullptr
QPushButton * m_keyRemove = nullptr
std::vector< std::unique_ptr< Interactive< GlPoint > > > m_shotAnnots
std::unique_ptr< Interactive< GlPoint > > m_volAnnot = nullptr
std::vector< std::unique_ptr< Interactive< GlLine > > > m_targetPointRaysAnnot
std::vector< std::unique_ptr< Interactive< GlLine > > > m_shotErrorLines
std::vector< std::vector< std::unique_ptr< Interactive< GlLine > > > > m_epipolarLineAnnot
std::vector< bool > m_shotAnnotsState
 These are the shot and volume annotation states; which change when the annotations are set to a specific position on images or the user skipped creating the annotation on purpose.
bool m_volAnnotState = false
bool m_enabled = true
MainWindowBasem_main
ImageView2Dm_view2D
ViewGroupm_viewGroup
XRay2D3DRegistrationInitializationKeyPointsControllerm_kpCtrl = nullptr
XRay2D3DRegistrationInitializationKeyPointsm_initKP = nullptr

Additional Inherited Members

Protected Member Functions inherited from ImFusion::SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.

Member Function Documentation

◆ onManipulatorEvent()

void ImFusion::CT::internal::KeyPointWidgetInternal::onManipulatorEvent ( Manipulator * src,
void * eventDataRaw )
virtual

Implementation of the ManipulatorListener event.

Implements ImFusion::ManipulatorListener.

Member Data Documentation

◆ m_epipolarLineAnnot

std::vector<std::vector<std::unique_ptr<Interactive<GlLine> > > > ImFusion::CT::internal::KeyPointWidgetInternal::m_epipolarLineAnnot
protected
See also
XRay2D3DRegistrationInitializationKeyPoints::updateEpipolarLines() to see how epipolar lines are computed. The order of indices: the shot with epipolar line annotation, the shot with target point. e.g. m_epipolarLineAnnot[0][1] means that the epipolar line is drawn on shot #0, for the target point which was set on the shot #1. Warning: The index order of XRay2D3DRegistrationInitializationKeyPoints::m_epipolarLines is not the same with XRay2D3DRegistrationInitializationKeyPointsController::m_epipolarLineAnnot.

The documentation for this class was generated from the following file:
  • ImFusion/CT/GUI/XRay2D3DRegistrationInitializationKeyPointsController.h
Search Tab / S to search, Esc to close