![]() |
ImFusion SDK 4.3
|
#include <ImFusion/Navigation/PointsOnTrackingStreamManipulator.h>
Handles creation and manipulation of points from a TrackingStream. More...
Inheritance diagram for PointsOnTrackingStreamManipulator: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) | |
| PointsOnData & | pointHandler () 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. | |
| SignalReceiver & | operator= (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 | |
| PointsOnTrackingStream & | m_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< SignalConnection > | m_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 |
| DisplayWidgetMulti * | m_disp = nullptr |
| bool | m_isEditable = true |
| bool | m_showNames = false |
| std::unique_ptr< Receiver > | m_receiver |
| bool | m_isListeningToDisplayChanges = true |
| Data * | m_visualGuideData = nullptr |
| Pointer to the visual guide data. | |
| InteractiveObject * | m_visualGuideIObj = nullptr |
| Pointer to the visual guide interactive object. | |
| std::vector< GlSlice::BlendingMode > | m_blendingMode2DViewsRestore |
| Backup to restore blending mode for 2D views on hiding of visual guide. | |
|
overridevirtual |
Gets the underlying PointsOnData
Implements PointsOnDataManipulator.
|
overridevirtual |
Creates a new point at the current position of the instrument.
Reimplemented from PointsOnDataManipulator.
|
inlineoverridevirtual |
PointsOnTrackingStream does not support visual guides.
Implements PointsOnDataManipulator.
|
overrideprotectedvirtual |
This function is called when the user creates a point. The implementation should update of the underlying PointsOnData structure.
Implements PointsOnDataManipulator.
|
overrideprotectedvirtual |
This function is called when the user moves a point. The implementation should update of the underlying PointsOnData structure.
Implements PointsOnDataManipulator.