![]() |
ImFusion C++ SDK 4.4.0
|
#include <ImFusion/GUI/PointsOnDataManipulator.h>
Interface class that handles creation and manipulation of points on Data. More...
Interface class that handles creation and manipulation of points on Data.
Implementations of this interface should rely on PointsOnData for handling the points and react to the events emitted by it.
Classes | |
| class | Receiver |
Public Member Functions | |
| virtual void | init (DisplayWidgetMulti *disp) |
| virtual PointsOnData & | pointHandler () const =0 |
| Gets the underlying PointsOnData. | |
| virtual void | startPointCreation () |
| Start the interactive creation of a new point. | |
| 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 | showVisualGuideInViews (InteractiveObject &visualGuideIObj, SharedImageSet &visualGuideImg, TransferFunction *tf=nullptr)=0 |
| Displays visual guide in views GlSliceView can properly render the InteractiveObject, while other views require the SharedImageSet with transfer function. | |
| 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 ImFusion::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 | |
| 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 void | onCreatePointInteraction (const vec3 &point)=0 |
| This function is called when the user creates a point. The implementation should update of the underlying PointsOnData structure. | |
| virtual void | onMovePointInteraction (Manipulator *src)=0 |
| This function is called when the user moves a point. The implementation should update of the underlying PointsOnData structure. | |
| 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 ImFusion::SignalReceiver | |
| void | disconnectAll () |
| Disconnects all existing connections. | |
Protected Attributes | |
| 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. | |
|
virtual |
Reimplemented in ImFusion::US::PointsOnSweepManipulator.
|
pure virtual |
Gets the underlying PointsOnData.
Implemented in ImFusion::PointsOnImageManipulator, ImFusion::PointsOnTrackingStreamManipulator, and ImFusion::US::PointsOnSweepManipulator.
|
virtual |
Start the interactive creation of a new point.
Reimplemented in ImFusion::PointsOnTrackingStreamManipulator, and ImFusion::US::PointsOnSweepManipulator.
|
virtual |
Reimplemented in ImFusion::US::PointsOnSweepManipulator.
|
virtual |
Reimplemented in ImFusion::US::PointsOnSweepManipulator.
|
overridevirtual |
Called when an event occurs.
| src | source of the event |
| eventData | pointer to event data. Zero if no event data is provided. |
Implements ImFusion::ManipulatorListener.
|
virtual |
Shows or hides all the points.
Reimplemented in ImFusion::PointsOnImageManipulator, and ImFusion::US::PointsOnSweepManipulator.
|
virtual |
Enables or disables the manipulation of points.
Reimplemented in ImFusion::US::PointsOnSweepManipulator.
|
virtual |
Set the color of all points.
Reimplemented in ImFusion::US::PointsOnSweepManipulator.
|
virtual |
Return the current views showing the points.
Reimplemented in ImFusion::US::PointsOnSweepManipulator.
|
virtual |
Recomputes the views where points are visible and add points to those views.
Reimplemented in ImFusion::US::PointsOnSweepManipulator.
|
pure virtual |
Displays visual guide in views GlSliceView can properly render the InteractiveObject, while other views require the SharedImageSet with transfer function.
| visualGuideIObj | The visual guide interactive object |
| visualGuideImg | The visual guide image |
| tf | The transfer function (optional) |
Implemented in ImFusion::PointsOnImageManipulator, ImFusion::PointsOnTrackingStreamManipulator, and ImFusion::US::PointsOnSweepManipulator.
|
virtual |
Hide the visual guide from views.
Reimplemented in ImFusion::US::PointsOnSweepManipulator.
|
protectedvirtual |
These methods are called when the underlying PointsOnData structure changes.
Reimplemented in ImFusion::PointsOnImageManipulator, and ImFusion::US::PointsOnSweepManipulator.
|
protectedpure virtual |
This function is called when the user creates a point. The implementation should update of the underlying PointsOnData structure.
Implemented in ImFusion::PointsOnImageManipulator, ImFusion::PointsOnTrackingStreamManipulator, and ImFusion::US::PointsOnSweepManipulator.
|
protectedpure virtual |
This function is called when the user moves a point. The implementation should update of the underlying PointsOnData structure.
Implemented in ImFusion::PointsOnImageManipulator, ImFusion::PointsOnTrackingStreamManipulator, and ImFusion::US::PointsOnSweepManipulator.
|
protectedvirtual |
Return a vector of views where the points should be shown.
Reimplemented in ImFusion::US::PointsOnSweepManipulator.