ImFusion C++ SDK 4.4.0
ImFusion::InteractiveAnnotation Class Reference
Inheritance diagram for ImFusion::InteractiveAnnotation:

Public Slots

void setName (QString name)
 Opens a QInputDialog to pick a new name for this annotation.
void plotLineProfile (SharedImageSet *is, bool clearPrevious=true)
 Plot line profile, if the annotation already had a line plot with the same data source it is replaced.
void plotLineProfiles (const std::vector< SharedImageSet * > &images, bool clearPrevious=true)
void createPlotData (const std::vector< SharedImageSet * > &isVec)
void updatePlotData (const SharedImageSet *is)
void sampleLineProfile (const SharedImageSet *is, Tensor< 1 > *&x, std::vector< Tensor< 1 > * > &y, int interpolationRange=0)
 Sample values from image. Creates one y-value tensor per channel. Interpolation is in pixels and over a line for 2D and slice for 3D data.
void setShowStatistics (bool showStatistics)
 Add statistics.
bool showStatistics () const
void updateStatistics (SharedImageSet *is)
void sliceSpline (SharedImageSet *is)
 Slice spline.
void onViewUpdate ()
 Called when view is updated to redraw additional information; such as statistics, line plots etc.
void refineAnnotation (SharedImageSet *is)
 Refine annotation.
void convertToLabelMap (SharedImageSet *is)
 Convert a closed spline to a label map.
void closeLoopAnnotation ()
 Close an open contour represented by a spline.

Public Member Functions

 InteractiveAnnotation (MainWindowBase *mw, GlAnnotation *object, Manipulator *manipulator=0, bool own=true)
bool sceneEvent (QEvent *event, InteractiveView *view) override
 Called by the hosting InteractiveView to notify on user input events.
GlAnnotationgl ()
const GlAnnotationgl () const
MainWindowBasemw ()
void onTransformationChanged (const Data *data)
 Used to redraw plots as necessary.
void onDataDeleted (const Data *data)
 Removes all associated plots if the source data gets deleted.
void goTo (Data *data=nullptr) const
 Center the views contained in the default display widget which show data on the object.
void removeFromLinePlot ()
 Removes any plots sampled with this annotation, will also delete the plot view if this causes it to become empty.
void onAnnotationChanged (const GlPointBasedAnnotation *)
virtual void goTo (DisplayWidgetMulti *display, Data *data=nullptr, int frame=-1) const
 Center the views contained in the passed display widget which show data on the object.
Public Member Functions inherited from ImFusion::InteractiveObject
 InteractiveObject (GlObject *object, Manipulator *manipulator=nullptr, bool own=true)
 Instantiate a new InteractiveOverlay, optionally taking ownership of the underlying GlObject and Manipulator.
template<typename T>
const T * gl () const
 Get a typed pointer to the underlying GlObject.
template<typename T>
T * gl ()
 Get a typed pointer to the underlying GlObject.
const GlObjectgl () const
 Get the underlying abstract GlObject.
GlObjectgl ()
 Get the underlying abstract GlObject.
const Manipulatormanipulator () const
 Get the underlying manipulator.
Manipulatormanipulator ()
 Get the underlying manipulator.
GUI::EventResult handleInputEvent (const GUI::InputEvent &event, const GUI::View &view) override
 Gets called by the parent view in order to handle user input events.
Public Member Functions inherited from ImFusion::GUI::ViewObject
 ViewObject (std::unique_ptr< GlObject > glObject)
 Instantiate a new ViewObject taking ownership of the underlying GlObject which must not be null.
const GlObjectglObject () const
 Get the underlying abstract GlObject.
GlObjectglObject ()
const GlObjectgl () const
 Original API methods for the underlying abstract GlObject.
GlObjectgl ()
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.

Static Public Member Functions

static std::vector< InteractiveView * > getRelevantViews (const InteractiveObject *object, const Data *data, DisplayWidgetMulti *display)

Protected Attributes

QMap< QString, QAction * > m_actions
Protected Attributes inherited from ImFusion::InteractiveObject
GlObjectm_object
Manipulatorm_manipulator = nullptr
bool m_own = true
Protected Attributes inherited from ImFusion::GUI::ViewObject
std::unique_ptr< GlObjectm_glObject

Additional Inherited Members

Public Attributes inherited from ImFusion::InteractiveObject
Signal< const InteractiveObject * > signalDeleted
 Signal emitted when this instance is deleted.
Protected Member Functions inherited from ImFusion::SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.

Member Function Documentation

◆ sceneEvent()

bool ImFusion::InteractiveAnnotation::sceneEvent ( QEvent * event,
InteractiveView * view )
overridevirtual

Called by the hosting InteractiveView to notify on user input events.

Default implementation will foward the event to the Manipulator if the object is visible.

Returns
true if the event has been handled and should no longer be passed to other objects.

Reimplemented from ImFusion::InteractiveObject.

◆ goTo() [1/2]

void ImFusion::InteractiveAnnotation::goTo ( Data * data = nullptr) const

Center the views contained in the default display widget which show data on the object.

If no data is specified, the default view group is centered.

◆ goTo() [2/2]

virtual void ImFusion::InteractiveObject::goTo ( DisplayWidgetMulti * display,
Data * data = nullptr,
int frame = -1 ) const
virtual

Center the views contained in the passed display widget which show data on the object.

If no data is specified, the default view group is centered.

Reimplemented from ImFusion::InteractiveObject.


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