ImFusion SDK 4.3
PointsOnTrackingStreamManipulator Class Reference

#include <ImFusion/Navigation/PointsOnTrackingStreamManipulator.h>

Handles creation and manipulation of points from a TrackingStream. More...

+ Inheritance diagram for PointsOnTrackingStreamManipulator:

Detailed Description

Handles creation and manipulation of points from a TrackingStream.

Automatically updates the displayed points in response to events emitted by PointsOnTrackingStream.

Public Member Functions

 PointsOnTrackingStreamManipulator (PointsOnTrackingStream &pointHandler)
 
PointsOnDatapointHandler () const override
 Gets the underlying PointsOnData
 
void startPointCreation () override
 Creates a new point at the current position of the instrument.
 
void showVisualGuideInViews (InteractiveObject &visualGuideIObj, SharedImageSet &visualGuideImg, TransferFunction *tf=nullptr) override
 PointsOnTrackingStream does not support visual guides.
 
- Public Member Functions inherited from PointsOnDataManipulator
virtual void init (DisplayWidgetMulti *disp)
 
bool isCreatingPoint () const
 Return true if it is currently creating a new point.
 
virtual void cancelPointCreation ()
 Cancel the interactive creation of a new point.
 
virtual void exportPoints (AnnotationModel *annotationModel)
 
virtual void goToPoint (int index)
 
void onManipulatorEvent (Manipulator *src, void *eventData) override
 Called when an event occurs.
 
void showNames (bool show)
 
virtual void setVisible (bool visible)
 Shows or hides all the points.
 
void setPointSize (float pointSize)
 
float pointSize () const
 
virtual void setEditable (bool editable)
 Enables or disables the manipulation of points.
 
bool isEditable () const
 
virtual void setPointColor (const vec3 &color)
 Set the color of all points.
 
const vec3 & pointColor () const
 
virtual std::vector< InteractiveView * > pointViews () const
 Return the current views showing the points.
 
virtual void recomputePointViews ()
 Recomputes the views where points are visible and add points to those views.
 
virtual void hideVisualGuideInViews ()
 Hide the visual guide from views.
 
void storeBlendingMode2DViews (GlSlice::BlendingMode blendingMode2DView)
 Store original blending mode for 2D views.
 
void restoreBlendingMode2DViews (std::vector< ImageView2D * > views2d)
 Restore original blending mode for 2D views.
 
void setListenToDisplayChanges (bool listen=true)
 Sets whether the class should listen to display changes and add the points to new views.
 
bool isListeningToDisplayChanges () const
 
- Public Member Functions inherited from 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.
 

Protected Member Functions

void onCreatePointInteraction (const vec3 &point) override
 This function is called when the user creates a point. The implementation should update of the underlying PointsOnData structure.
 
void onMovePointInteraction (Manipulator *src) override
 This function is called when the user moves a point. The implementation should update of the underlying PointsOnData structure.
 
- Protected Member Functions inherited from PointsOnDataManipulator
virtual void onPointsAdded (int first, int last)
 These methods are called when the underlying PointsOnData structure changes.
 
virtual void onPointsRemoved (int first, int last)
 
virtual void onPointsChanged (int first, int last)
 
virtual void onPointsRenamed (int first, int last)
 
virtual std::vector< InteractiveView * > availableViews () const
 Return a vector of views where the points should be shown.
 
void removePoint (Interactive< GlPoint, PointBasedAnnotationManipulator > *p)
 Removes a specific point from all the views.
 
void clearPendingPoint ()
 Removes the temporary point used in user interation.
 
std::unique_ptr< Interactive< GlPoint, PointBasedAnnotationManipulator > > createInteractivePoint (const vec3 *point=nullptr, bool interactive=true, const std::string &name="")
 Creates an interactive point.
 
void sanitizeRange (int &first, int &last, size_t size)
 Makes sure that the range [first, last) is inside the range [0, size)
 
- Protected Member Functions inherited from SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.
 

Protected Attributes

PointsOnTrackingStreamm_pointHandler
 Reference to the PointsOnTrackingStream instance containing the registration points.
 
std::mutex m_pendingPointMutex
 Synchronizes access to m_pendingTrackingPoint between main and stream threads.
 
std::shared_ptr< SignalConnectionm_pendingTrackingPoint
 Connection to TrackingStream::signalStreamData for receiving the next tracking state.
 
- Protected Attributes inherited from PointsOnDataManipulator
std::unique_ptr< Interactive< GlPoint, PointBasedAnnotationManipulator > > m_pendingPoint
 Pending point currently being set.
 
std::vector< std::unique_ptr< Interactive< GlPoint, PointBasedAnnotationManipulator > > > m_points
 
vec3 m_pointColor = vec3(1.0, 0.0, 0.0)
 
float m_pointSize = 5.0f
 
DisplayWidgetMultim_disp = nullptr
 
bool m_isEditable = true
 
bool m_showNames = false
 
std::unique_ptr< Receiverm_receiver
 
bool m_isListeningToDisplayChanges = true
 
Datam_visualGuideData = nullptr
 Pointer to the visual guide data.
 
InteractiveObjectm_visualGuideIObj = nullptr
 Pointer to the visual guide interactive object.
 
std::vector< GlSlice::BlendingModem_blendingMode2DViewsRestore
 Backup to restore blending mode for 2D views on hiding of visual guide.
 

Member Function Documentation

◆ pointHandler()

PointsOnData & pointHandler ( ) const
overridevirtual

Gets the underlying PointsOnData

Implements PointsOnDataManipulator.

◆ startPointCreation()

void startPointCreation ( )
overridevirtual

Creates a new point at the current position of the instrument.

Reimplemented from PointsOnDataManipulator.

◆ showVisualGuideInViews()

void showVisualGuideInViews ( InteractiveObject & visualGuideIObj,
SharedImageSet & visualGuideImg,
TransferFunction * tf = nullptr )
inlineoverridevirtual

PointsOnTrackingStream does not support visual guides.

Implements PointsOnDataManipulator.

◆ onCreatePointInteraction()

void onCreatePointInteraction ( const vec3 & point)
overrideprotectedvirtual

This function is called when the user creates a point. The implementation should update of the underlying PointsOnData structure.

Implements PointsOnDataManipulator.

◆ onMovePointInteraction()

void onMovePointInteraction ( Manipulator * src)
overrideprotectedvirtual

This function is called when the user moves a point. The implementation should update of the underlying PointsOnData structure.

Implements PointsOnDataManipulator.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close