MeVisLab Toolbox Reference
SoView2DAnnotation Class Reference

Annotation extension for the SoView2D. More...

#include <SoView2DAnnotation.h>

Inheritance diagram for SoView2DAnnotation:
SoView2DInteractionExtension SoView2DExtension SoInteractionProviderNode SoInteractionOwner SoInteractionProvider

Classes

struct  Margins
 Stores top/bottom/left/right margins. More...
 

Public Types

enum  AlignPosition {
  TOP_LEFT , TOP_RIGHT , BOTTOM_LEFT , BOTTOM_RIGHT ,
  BOTTOM_CENTER , CENTER_CENTER
}
 Mode for alignment of text boxes on viewer. More...
 
- Public Types inherited from SoView2DExtension
enum  Sign { ZERO , NEGATIVE , POSITIVE }
 defines the sign of a number, with zero as an extra value More...
 
- Public Types inherited from SoInteractionProvider
typedef SoInteractionProvider *(* GetProviderFunc) (SoNode *)
 

Public Member Functions

 SoView2DAnnotation ()
 Constructor. More...
 
 ~SoView2DAnnotation () override
 
void draw (View2DSliceList *dsl, View2DSlice *dslice, int slice) override
 draw annotations on slice More...
 
bool evalEvent (SoView2D *view2d, View2DSliceList *slicelist, View2DEvent *ec, View2DEventPhase phase) override
 handle keyboard events More...
 
void toggleAnnotation ()
 toggle displayed information More...
 
void toggleTechnicalInfo ()
 
void parseString (View2DSliceList *list, View2DSlice *slice, const SbString &string, SbString &resultString, int limitToChars=-1)
 parses the given string and substitutes and More...
 
void drawAnnotation (const char *string, const PixelBoundingBox &pixelBoundingBox, int fontsize, AlignPosition pos, bool shouldDrawBox, int &outBoxWidth, int &outBoxHeight)
 draws an AnnotationBox at the given position More...
 
float decimalFloor (float number, SbString &result, int &divider)
 returns the closest decimal floor and copies a printable string into the buffer More...
 
void drawVerticalRuler (View2DSliceList *dsl, View2DSlice *dslice, bool drawText, int marginRight, const PixelBoundingBox &pixelBoundingBox)
 draws an annotated ruler More...
 
void drawHorizontalRuler (View2DSliceList *dsl, View2DSlice *dslice, bool drawText, int marginBottom, const PixelBoundingBox &pixelBoundingBox)
 
virtual bool drawVerticalRulerTextBelow () const
 override this to draw the unit text below the vertical ruler instead of to the left of it. More...
 
void drawOrientation (const char *string, float posX, float posY, float fontSize, View2DFont *font, float relOffX, float relOffY, float *orWeights)
 Draw orientation letters. More...
 
virtual Margins calculateTextMargins (int width, int height)
 calculates the margin of the text annotations (to be reimplemented by a derived class) More...
 
virtual Margins calculateCenterTextMargins (int width, int height)
 margins for center text (horizontally) can be different More...
 
virtual int calculateOrientationModelSize (int width, int height)
 calculates the size of the orientation model More...
 
virtual int calculateOrientationModelOffset (int viewSize, const SoSFFloat &relativeOffset, const SoSFInt32 &minOffsetPixels, const SoSFInt32 &maxOffsetPixels)
 calculates an offset for the orientation model position More...
 
SbMatrix calculateOrientationModelRotationMatrix (View2DSlice *slice)
 calculates the rotation matrix for the orientation model More...
 
virtual void drawOrientationCube (const SbMatrix &rotationMatrix, int posX, int posY, int modelSize)
 draws the annotation model for the given rotation matrix at the given position and size using the built in model More...
 
virtual void drawAndStoreCubePolygon (char letter, const SbMatrix &rotationMatrix, int posX, int posY, int modelSize, int pass, const SbVec3f &pos0, const SbVec3f &pos1, const SbVec3f &pos2, const SbVec3f &pos3)
 Draws an orientation cube polygon (a side of the cube) and stores the projected polygon in an internal structure for a later hit test. More...
 
virtual void drawOrientationModelUsingInventor (SoAction *action, const SbMatrix &rotationMatrix, int posX, int posY, int modelSize)
 draws the annotation model for the given rotation matrix at the given position and size using the inOrientationModel scene More...
 
virtual void drawOrientationCubeLetter (char letter, int modelSize, bool shadowPass)
 draw the given letters. More...
 
virtual bool implementsManagedInteraction () const
 also implements managed interactions More...
 
bool implementsManagedInteractionAndClassicEventHandling () const override
 this node is a hybrid module providing managed interaction and classic event handling More...
 
bool isSensitiveAt (const SoPointerPosition &pos) override
 interface forwarded from SoPointingAction: More...
 
void startPressAt (const SoPointerPosition &pos) override
 
void dragMoveTo (const SoPointerPosition &pos) override
 
SoPointingActionendPress (int clickCount) override
 
- Public Member Functions inherited from SoView2DInteractionExtension
 SoView2DInteractionExtension (const std::string &actionID, bool positionSensitive=true)
 
 SoView2DInteractionExtension ()
 Constructor. More...
 
bool implementsManagedInteractionAndClassicEventHandling () const override
 this node is a hybrid module providing managed interaction and classic event handling More...
 
- Public Member Functions inherited from SoView2DExtension
 SoView2DExtension ()
 Constructor. More...
 
void init ()
 setup internal state More...
 
virtual void updateValues ()
 Update fields to local variables, may be reimplemented if you want to update additional local vars. More...
 
virtual void startDrawing (View2DSliceList *)
 
virtual void endDrawing (View2DSliceList *)
 
virtual void overwriteDrawingSettings (SoView2DDrawingSettings &)
 
View2DEventgetEvent ()
 get the current event (when inside of evalEvent) More...
 
float getSelectDist ()
 Set the distance tolerance on hit checking in pixels. More...
 
bool isPointInsideDeviceRect (float pointX, float pointY, float centerX, float centerY, float hitRectangleSize=0.0)
 returns whether the given point is inside a rectangle around the given center. More...
 
void drawMiniRect (float xp, float yp, float ext, float lineWidth=1.f)
 Draws a small rectangle with given half side length and a line width. More...
 
void drawDashedMiniRect (float xp, float yp, float ext, float lineWidth)
 
void drawFilledMiniRect (float xp, float yp, float ext, float lineWidth=1.f)
 Draws a small filled rectangle with given half side length. More...
 
void drawMiniTriangle (float xp, float yp, float ext, float lineWidth=1.f)
 Draws a small triangle with given center point, half height and line width. More...
 
void drawFilledMiniTriangle (float xp, float yp, float ext, float lineWidth=1.f)
 Draws a small filled triangle with given center point and half height. More...
 
void drawMiniCircle (float xp, float yp, float ext, float lineWidth=1.f)
 Draws a small circle with given center point and radius. More...
 
void drawFilledMiniCircle (float xp, float yp, float ext, float lineWidth=1.f)
 Draws a small filled circle with given center point and radius. More...
 
void drawFixedSizeMiniCircleAt (float xp, float yp)
 Draws a fixed size small circle at the given position. More...
 
void drawVoxelBorder (View2DSlice *slice, float vx, float vy, float vz)
 surround the given voxel with a border More...
 
int getX ()
 get the x device position of current event, only returns valid result when called inside of evalEvent() More...
 
int getY ()
 get the y device position of current event, only returns valid result when called inside of evalEvent() More...
 
virtual bool isDrawingOn ()
 check if drawing is on More...
 
virtual bool isEditingOn ()
 check if editing is on More...
 
virtual bool isFixZOn ()
 check if z should stay fixed More...
 
virtual bool isClipToSlice ()
 check if the image is clipped to slice More...
 
virtual void fieldChanged (SoSensor *sensor)
 handle if any field has changed More...
 
bool isCreateNewMode ()
 check if extension is in createNewMode More...
 
void setCreateNewMode (bool flag)
 set this extension to create new objects More...
 
bool isCreateNewModeRequest ()
 check if extension has a request for createNewMode More...
 
void setCreateNewModeRequest (bool flag)
 set that extension want to become createNewMode More...
 
virtual bool isActive ()
 returns if the extension is active (derive this method in child) (in createNewMode or with a selected object)(called by SoView2D) More...
 
virtual void deleteSelectedObject ()
 deletes the currently active object (derive this method in child) (called by SoView2D) More...
 
virtual void getStatusString (SbString &status)
 get the current status of this extension More...
 
virtual bool evaluateEvent (SoView2D *view2d, View2DEvent *ec)
 
virtual bool ignoreEvent (View2DEvent *ec)
 Return true if ec has been handled before and if ignoreHandledEvents is True. More...
 
bool wantsMouseOverUpdates () const
 public access to _wantsMouseOverUpdateEvents More...
 
virtual void consumeEvent (View2DEvent *ec, bool handled=TRUE)
 Set handled-flag of ec to true (= consumed) if handled is True and setEventHandled is True. More...
 
int getSelectedModifierMask ()
 Get compare and ignore mask for the currently selected button/modifier combination, usable with SoPointingAction. More...
 
int getSelectedIgnoreMask ()
 
SoPointingAction::Trigger getPointingActionTriggerFromFields ()
 Get the trigger that matches the button/modifier field state. More...
 
- Public Member Functions inherited from SoInteractionProviderNode
 SoInteractionProviderNode ()
 Default constructor. More...
 
 ~SoInteractionProviderNode () override
 Destructor. More...
 
std::string getID () const override
 Returns the id string for identifying the provider (and its actions) - this is usually the name of the scene node. More...
 
void objRef () override
 Memory management by reference counting; must be implemented in derived classes. More...
 
void objUnref () override
 
- Public Member Functions inherited from SoInteractionOwner
 SoInteractionOwner ()
 Default constructor. More...
 
 ~SoInteractionOwner () override
 The destructor will destroy all interactions created with this object as owner. More...
 
std::list< SoInteraction * > getInteractions (SoState *state) override
 Returns the list of all interactions of this provider. More...
 
void pointerPosition (SoState *state, const SoPointerPosition &pos) override
 Same as below, with additional SoState argument. Be defaults simply calls the below version. More...
 
void pointerLeftWindow (SoState *state) override
 Same as below, with additional SoState argument. Be defaults simply calls the below version. More...
 
void addListener (SoInteractionOwnerListenerInterface *listener)
 Add a listener object that is notified of changes in the interaction list. More...
 
void removeListener (SoInteractionOwnerListenerInterface *listener)
 Remove a listener object that was notified of changes in the interaction list. More...
 
- Public Member Functions inherited from SoInteractionProvider
 SoInteractionProvider ()
 Default constructor. More...
 
virtual ~SoInteractionProvider ()
 
template<class T >
std::list< T * > getInteractionsOfType (SoState *state)
 Returns list of interactions of a specific type: More...
 
virtual std::list< SoCommandAction * > getCommandActions (SoState *state)
 
virtual std::list< SoPointingAction * > getPointingActions (SoState *state)
 
virtual std::list< SoOffsetAction * > getOffsetActions (SoState *state)
 

Static Public Member Functions

static void initClass ()
 inventor runtime type system More...
 
static void getExtOrientation (int axis, SbMatrix &matrix, float *orWeights, char *negOrientation, char *posOrientation)
 Return extended orientation letters (up to three letters for oblique views) and weights. More...
 
static SbVec2f getTargetSizeInScene (SoNode *scene, int width, int height)
 Get the minimum view port size of all SoView2Ds in the given scene, provided the scene would be displayed in a viewer with size windowX * windowY. More...
 
- Static Public Member Functions inherited from SoView2DInteractionExtension
static void initClass ()
 Initializes this class. More...
 
- Static Public Member Functions inherited from SoView2DExtension
static void initClass ()
 Initializes this class. More...
 
static float snapToPixelCenter (float coordinateComponent)
 Snaps the coordinate component to the pixel center. More...
 
static void fieldChangedCB (void *data, SoSensor *sensor)
 inventor callbacks if any field has changed, calls fieldChanged More...
 
static bool isImageParallel (SoSFMLImage *image, View2DSliceList *dsl)
 Return true if image is parallel to the image of the slice list up to slice thickness. More...
 
static void enableLineStippling (const SoSFEnum &lineStyleField)
 Set/reset stippling pattern. More...
 
static void disableLineStippling (const SoSFEnum &lineStyleField)
 
static void getAxisOrientation (int axis, SbMatrix &matrix, char &negativeResult, char &positiveResult)
 Geometry helpers. More...
 
static float pointToLineDistance (SbVec3f point, SbVec3f line1, SbVec3f line2)
 calculate 3D point to line distance More...
 
static float pointToLineDistance (SbVec2f point, SbVec2f line1, SbVec2f line2)
 calculate 2D point to line distance More...
 
static Sign edgeIntersectWithPlane (const SbVec3f &v1, const SbVec3f &v2, const SbPlane &plane, SbVec3f &intersect)
 intersect given edge from v1 to v2 with given plane, returns sign and intersect point More...
 
- Static Public Member Functions inherited from SoInteractionProviderNode
static void initClass ()
 Initializes this class. More...
 
- Static Public Member Functions inherited from SoInteractionProvider
static void registerInteractionProviderNode (SoType type, GetProviderFunc func)
 Register a function to obtain a SoInteractionProvider from a SoNode. More...
 
static SoInteractionProvidergetInteractionProvider (SoNode *node)
 Get a SoInteractionProvider from a SoNode if registered, else NULL. More...
 

Public Attributes

SoSFString annotationUserTopLeft
 Fields. More...
 
SoSFString annotationUserTopRight
 
SoSFString annotationUserBottomLeft
 
SoSFString annotationUserBottomRight
 
SoSFString annotationUserBottomCenter
 
SoSFString annotationCTTopLeft
 
SoSFString annotationCTTopRight
 
SoSFString annotationCTBottomLeft
 
SoSFString annotationCTBottomRight
 
SoSFString annotationCTBottomCenter
 
SoSFString annotationMRTopLeft
 
SoSFString annotationMRTopRight
 
SoSFString annotationMRBottomLeft
 
SoSFString annotationMRBottomRight
 
SoSFString annotationMRBottomCenter
 
SoSFString shortTopLeft
 
SoSFString shortTopRight
 
SoSFString shortBottomLeft
 
SoSFString shortBottomRight
 
SoSFString shortBottomCenter
 
SoSFInt32 minDetailFontSize
 
SoSFInt32 maxDetailFontSize
 
SoSFInt32 minShortFontSize
 
SoSFInt32 maxShortFontSize
 
SoSFInt32 userDetailFontSize
 
SoSFInt32 userShortFontSize
 
SoSFInt32 rulerFontSize
 
SoSFEnum annotationMode
 
SoSFEnum showAnnotation
 
SoSFEnum annotationFontSize
 
SoSFBool textShadow
 
SoSFColor textShadowColor
 
SoSFBool rulerShadow
 
SoSFString fontWidthDummyString
 
SoSFInt32 targetWidth
 
SoSFInt32 targetHeight
 
SoSFInt32 marginTop
 
SoSFInt32 marginLeft
 
SoSFInt32 marginBottom
 
SoSFInt32 marginRight
 
SoSFInt32 abreviateChars
 
SoSFInt32 abreviateShortChars
 
SoSFEnum showOrientation
 
SoSFBool drawNegativeOrientation
 
SoSFBool drawPositiveOrientation
 
SoSFColor orientationColor
 
SoSFBool verticalRuler
 
SoSFBool horizontalRuler
 
SoSFInt32 verticalRulerMarginRight
 
SoSFInt32 horizontalRulerMarginBottom
 
SoSFBool orientationModel
 
SoSFEnum orientationModelPosition
 
SoSFFloat orientationModelRelativeSize
 
SoSFInt32 orientationModelMinSize
 
SoSFInt32 orientationModelMaxSize
 
SoSFFloat orientationModelRelativeVerticalOffset
 
SoSFInt32 orientationModelMinVerticalOffset
 
SoSFInt32 orientationModelMaxVerticalOffset
 
SoSFFloat orientationModelRelativeHorizontalOffset
 
SoSFInt32 orientationModelMinHorizontalOffset
 
SoSFInt32 orientationModelMaxHorizontalOffset
 
SoSFColor orientationModelColor
 
SoSFBool showTechnicalInfo
 
SoSFString input00
 
SoSFString input01
 
SoSFString input02
 
SoSFString input03
 
SoSFString input04
 
SoSFString input05
 
SoSFString input06
 
SoSFString input07
 
SoSFString input08
 
SoSFString input09
 
SoSFDouble numInput00
 
SoSFDouble numInput01
 
SoSFDouble numInput02
 
SoSFDouble numInput03
 
SoSFDouble numInput04
 
SoSFDouble numInput05
 
SoSFDouble numInput06
 
SoSFDouble numInput07
 
SoSFDouble numInput08
 
SoSFDouble numInput09
 
SoSFBool drawBackgroundBox
 
SoSFColor backgroundColor
 
SoSFFloat backgroundOpacity
 
SoSFColor backgroundEdgeColor
 
SoSFFloat backgroundEdgeOpacity
 
SoSFNode inOrientationModel
 
SoSFBool isMouseOverCube
 
SoSFString hitOrientationLetter
 
SoSFBool orientationAndScaleFromCamera
 field that enables getting the orientation matrix from the Inventor scene instead of the input image More...
 
- Public Attributes inherited from SoView2DInteractionExtension
SoSFTrigger singleClicked
 this is triggered when the user clicks without moving the mouse (this only is supported when using Managed Interaction) More...
 
SoSFTrigger doubleClicked
 the same for the second click in a row More...
 
- Public Attributes inherited from SoView2DExtension
SoSFColor color
 color that should be used for drawing More...
 
SoSFBool drawingOn
 flag if the extension should draw, needs to be checked inside of the draw() method More...
 
SoSFBool editingOn
 flag if the extension should edit objects on mouse events, needs to be checked inside of the evalEvent() method More...
 
SoSFBool maskValid
 flag if the event mask is valid. More...
 
SoSFFloat selectionTolerance
 the selection tolerance in pixels More...
 
SoSFBool wantsAllEvents
 flag if ALL events should be passed to evalEvent(), if disabled, events are only passed to evalEvent when the mouse mask gets valid More...
 
SoSFBool wantsKeyEvents
 flag if keyboard events should be passed to evalEvent() More...
 
SoSFBool wantsMouseWheelEvents
 flag if MouseWheel events should be passed to evalEvent() More...
 
SoSFBool setEventHandled
 Set event handled if it is indeed handled by this extension. More...
 
SoSFBool ignoreHandledEvents
 Ignore events, that have been handled by previous extensions. More...
 
SoSFEnum button1
 mouse mask for button1 More...
 
SoSFEnum button2
 mouse mask for button2 More...
 
SoSFEnum button3
 mouse mask for button3 More...
 
SoSFEnum shift
 shift modifier for mouse mask More...
 
SoSFEnum control
 shift control for mouse mask More...
 
SoSFEnum alt
 shift alt for mouse mask More...
 
SoSFBool needsValidVoxel
 sets if a valid voxel must be hit to get evalEvent() calls More...
 
SoSFBool renderOnSlab
 defines if the extension should be rendered on all slab slices More...
 
SoSFBool createNewMode
 flag if extension is in createNewMode More...
 
SoSFTrigger createNewModeRequest
 
SoSFBool clipToSlice
 Flag to clip drawing to slice. More...
 
SoSFEnum cursorShape
 Set cursor shape if the mouse mask fits and mouseEvents are effectively sent to evalEvent for editing. More...
 
SoSFBool fixZOn
 DEPRECATED flag that indicates that the extension should fix the z value, only used in SoView2DRectangle. More...
 
- Public Attributes inherited from SoInteractionProviderNode
SoSFString instanceName
 Defines interface field to store the instance name. More...
 
SoSFString interactionProviderID
 This field overrides the instanceName as providerID if specified. More...
 

Protected Member Functions

virtual SbString restrict (const SbString &value, int maxLength) const
 restrict string to maximum length, appending "..." if string was truncated More...
 
virtual SbString asString (int value) const
 return numeric value formatted as string derived classes might e.g. More...
 
virtual SbString asString (double value, int precision) const
 
virtual SbString getDicomTagValueAsString (DCMTree::Const_TagPtr tagPtr, unsigned int index, unsigned int precision) const
 get the value of a dicom tag for display purposes; derived classes might e.g. More...
 
void editingOnChanged (SoField *field) override
 called when editingOn field is touched: More...
 
virtual void clearViewerCache (SoField *field)
 called when any field is changed that affects cached changes More...
 
- Protected Member Functions inherited from SoView2DInteractionExtension
 ~SoView2DInteractionExtension () override
 destructor More...
 
bool isValidLocation (const SoPointerPosition &pos)
 return true if the position is inside the image or needsValidVoxel is not set More...
 
virtual bool shouldPointingActionBeEnabled ()
 
void editingOnChanged (SoField *field) override
 called when editingOn field is touched: More...
 
void buttonMaskChanged (SoField *field) override
 called when one of the button/modifier fields is touched: More...
 
virtual int getCurrentCursor (SoViewerProxy *viewerProxy)
 interface forwarded from SoPointingAction: More...
 
virtual void setHighlightAt (const SoPointerPosition &)
 
virtual void unsetHighlight ()
 
virtual int getNumInteractionModes () const
 
virtual void setInteractionMode (int)
 
- Protected Member Functions inherited from SoView2DExtension
virtual void createNewModeRequestTriggered (SoField *)
 called when createNewModeRequest field ist touched: More...
 
 ~SoView2DExtension () override
 destructor More...
 
void GLRender (SoGLRenderAction *action) override
 Inventor actions. More...
 
void callback (SoCallbackAction *action) override
 
void handleEvent (SoHandleEventAction *action) override
 
void getMatrix (SoGetMatrixAction *action) override
 
void getBoundingBox (SoGetBoundingBoxAction *action) override
 
void pick (SoPickAction *action) override
 
void doAction (SoAction *action) override
 
- Protected Member Functions inherited from SoInteractionOwner
virtual void pointerPosition (const SoPointerPosition &)
 Override this if you always need to be informed of the current mouse cursor position. More...
 
virtual void pointerLeftWindow ()
 This is called when the mouse cursor leaves the window. More...
 
bool hasInteractions () const
 Returns whether there are any actions defined by this owner. More...
 
template<class T >
bool hasInteractionsOfType () const
 Same as above, but asking for a specific type of interaction. More...
 
void addPointingAction (SoPointingAction *)
 
void addCommandAction (SoCommandAction *)
 
void addOffsetAction (SoOffsetAction *)
 

Additional Inherited Members

- Protected Attributes inherited from SoView2DInteractionExtension
SoPointingAction_pointingAction
 
- Protected Attributes inherited from SoView2DExtension
SoNodeSensor * _nodeSensor
 node sensor that is used to notice field changes More...
 
float _rgbColor [4]
 Color of the object, update on each field change by _nodeSensor. More...
 
bool _wantsMouseOverUpdateEvents
 set this flag to receive mouse over events while the extension is active More...
 

Detailed Description

Annotation extension for the SoView2D.

For a detailed description of the module and its fields, see the MeVisLab HTML documentation

Definition at line 108 of file SoView2DAnnotation.h.

Member Enumeration Documentation

◆ AlignPosition

Mode for alignment of text boxes on viewer.

Enumerator
TOP_LEFT 
TOP_RIGHT 
BOTTOM_LEFT 
BOTTOM_RIGHT 
BOTTOM_CENTER 
CENTER_CENTER 

Definition at line 115 of file SoView2DAnnotation.h.

Constructor & Destructor Documentation

◆ SoView2DAnnotation()

SoView2DAnnotation::SoView2DAnnotation ( )

Constructor.

◆ ~SoView2DAnnotation()

SoView2DAnnotation::~SoView2DAnnotation ( )
override

Member Function Documentation

◆ asString() [1/2]

virtual SbString SoView2DAnnotation::asString ( double  value,
int  precision 
) const
protectedvirtual

◆ asString() [2/2]

virtual SbString SoView2DAnnotation::asString ( int  value) const
protectedvirtual

return numeric value formatted as string derived classes might e.g.

override the formatting

◆ calculateCenterTextMargins()

virtual Margins SoView2DAnnotation::calculateCenterTextMargins ( int  width,
int  height 
)
virtual

margins for center text (horizontally) can be different

◆ calculateOrientationModelOffset()

virtual int SoView2DAnnotation::calculateOrientationModelOffset ( int  viewSize,
const SoSFFloat &  relativeOffset,
const SoSFInt32 &  minOffsetPixels,
const SoSFInt32 &  maxOffsetPixels 
)
virtual

calculates an offset for the orientation model position

◆ calculateOrientationModelRotationMatrix()

SbMatrix SoView2DAnnotation::calculateOrientationModelRotationMatrix ( View2DSlice slice)

calculates the rotation matrix for the orientation model

◆ calculateOrientationModelSize()

virtual int SoView2DAnnotation::calculateOrientationModelSize ( int  width,
int  height 
)
virtual

calculates the size of the orientation model

◆ calculateTextMargins()

virtual Margins SoView2DAnnotation::calculateTextMargins ( int  width,
int  height 
)
virtual

calculates the margin of the text annotations (to be reimplemented by a derived class)

◆ clearViewerCache()

virtual void SoView2DAnnotation::clearViewerCache ( SoField *  field)
inlineprotectedvirtual

called when any field is changed that affects cached changes

Definition at line 385 of file SoView2DAnnotation.h.

◆ decimalFloor()

float SoView2DAnnotation::decimalFloor ( float  number,
SbString &  result,
int &  divider 
)

returns the closest decimal floor and copies a printable string into the buffer

◆ dragMoveTo()

void SoView2DAnnotation::dragMoveTo ( const SoPointerPosition pos)
overridevirtual

Reimplemented from SoView2DInteractionExtension.

◆ draw()

void SoView2DAnnotation::draw ( View2DSliceList dsl,
View2DSlice dslice,
int  slice 
)
overridevirtual

draw annotations on slice

Reimplemented from SoView2DExtension.

◆ drawAndStoreCubePolygon()

virtual void SoView2DAnnotation::drawAndStoreCubePolygon ( char  letter,
const SbMatrix &  rotationMatrix,
int  posX,
int  posY,
int  modelSize,
int  pass,
const SbVec3f &  pos0,
const SbVec3f &  pos1,
const SbVec3f &  pos2,
const SbVec3f &  pos3 
)
virtual

Draws an orientation cube polygon (a side of the cube) and stores the projected polygon in an internal structure for a later hit test.

◆ drawAnnotation()

void SoView2DAnnotation::drawAnnotation ( const char *  string,
const PixelBoundingBox pixelBoundingBox,
int  fontsize,
AlignPosition  pos,
bool  shouldDrawBox,
int &  outBoxWidth,
int &  outBoxHeight 
)

draws an AnnotationBox at the given position

◆ drawHorizontalRuler()

void SoView2DAnnotation::drawHorizontalRuler ( View2DSliceList dsl,
View2DSlice dslice,
bool  drawText,
int  marginBottom,
const PixelBoundingBox pixelBoundingBox 
)

◆ drawOrientation()

void SoView2DAnnotation::drawOrientation ( const char *  string,
float  posX,
float  posY,
float  fontSize,
View2DFont font,
float  relOffX,
float  relOffY,
float *  orWeights 
)

Draw orientation letters.

◆ drawOrientationCube()

virtual void SoView2DAnnotation::drawOrientationCube ( const SbMatrix &  rotationMatrix,
int  posX,
int  posY,
int  modelSize 
)
virtual

draws the annotation model for the given rotation matrix at the given position and size using the built in model

◆ drawOrientationCubeLetter()

virtual void SoView2DAnnotation::drawOrientationCubeLetter ( char  letter,
int  modelSize,
bool  shadowPass 
)
virtual

draw the given letters.

The letter should be drawn at [0.,0.] and may draw from [-0.5,-0.5] to [0.5, 0.5] to fill the side of the model. (Rotation and translation are done in the outer code).

◆ drawOrientationModelUsingInventor()

virtual void SoView2DAnnotation::drawOrientationModelUsingInventor ( SoAction *  action,
const SbMatrix &  rotationMatrix,
int  posX,
int  posY,
int  modelSize 
)
virtual

draws the annotation model for the given rotation matrix at the given position and size using the inOrientationModel scene

◆ drawVerticalRuler()

void SoView2DAnnotation::drawVerticalRuler ( View2DSliceList dsl,
View2DSlice dslice,
bool  drawText,
int  marginRight,
const PixelBoundingBox pixelBoundingBox 
)

draws an annotated ruler

◆ drawVerticalRulerTextBelow()

virtual bool SoView2DAnnotation::drawVerticalRulerTextBelow ( ) const
inlinevirtual

override this to draw the unit text below the vertical ruler instead of to the left of it.

Definition at line 278 of file SoView2DAnnotation.h.

◆ editingOnChanged()

void SoView2DAnnotation::editingOnChanged ( SoField *  field)
overrideprotectedvirtual

called when editingOn field is touched:

Reimplemented from SoView2DExtension.

◆ endPress()

SoPointingAction* SoView2DAnnotation::endPress ( int  clickCount)
overridevirtual

Reimplemented from SoView2DInteractionExtension.

◆ evalEvent()

bool SoView2DAnnotation::evalEvent ( SoView2D view2d,
View2DSliceList slicelist,
View2DEvent ec,
View2DEventPhase  phase 
)
overridevirtual

handle keyboard events

Reimplemented from SoView2DExtension.

◆ getDicomTagValueAsString()

virtual SbString SoView2DAnnotation::getDicomTagValueAsString ( DCMTree::Const_TagPtr  tagPtr,
unsigned int  index,
unsigned int  precision 
) const
protectedvirtual

get the value of a dicom tag for display purposes; derived classes might e.g.

override the formatting

◆ getExtOrientation()

static void SoView2DAnnotation::getExtOrientation ( int  axis,
SbMatrix &  matrix,
float *  orWeights,
char *  negOrientation,
char *  posOrientation 
)
static

Return extended orientation letters (up to three letters for oblique views) and weights.

◆ getTargetSizeInScene()

static SbVec2f SoView2DAnnotation::getTargetSizeInScene ( SoNode *  scene,
int  width,
int  height 
)
static

Get the minimum view port size of all SoView2Ds in the given scene, provided the scene would be displayed in a viewer with size windowX * windowY.

◆ implementsManagedInteraction()

virtual bool SoView2DAnnotation::implementsManagedInteraction ( ) const
inlinevirtual

also implements managed interactions

Definition at line 353 of file SoView2DAnnotation.h.

◆ implementsManagedInteractionAndClassicEventHandling()

bool SoView2DAnnotation::implementsManagedInteractionAndClassicEventHandling ( ) const
inlineoverridevirtual

this node is a hybrid module providing managed interaction and classic event handling

Reimplemented from SoView2DExtension.

Definition at line 357 of file SoView2DAnnotation.h.

◆ initClass()

static void SoView2DAnnotation::initClass ( )
static

inventor runtime type system

◆ isSensitiveAt()

bool SoView2DAnnotation::isSensitiveAt ( const SoPointerPosition pos)
overridevirtual

interface forwarded from SoPointingAction:

Reimplemented from SoView2DInteractionExtension.

◆ parseString()

void SoView2DAnnotation::parseString ( View2DSliceList list,
View2DSlice slice,
const SbString &  string,
SbString &  resultString,
int  limitToChars = -1 
)

parses the given string and substitutes and

◆ restrict()

virtual SbString SoView2DAnnotation::restrict ( const SbString &  value,
int  maxLength 
) const
protectedvirtual

restrict string to maximum length, appending "..." if string was truncated

◆ startPressAt()

void SoView2DAnnotation::startPressAt ( const SoPointerPosition pos)
overridevirtual

Reimplemented from SoView2DInteractionExtension.

◆ toggleAnnotation()

void SoView2DAnnotation::toggleAnnotation ( )

toggle displayed information

◆ toggleTechnicalInfo()

void SoView2DAnnotation::toggleTechnicalInfo ( )

Member Data Documentation

◆ abreviateChars

SoSFInt32 SoView2DAnnotation::abreviateChars

Definition at line 175 of file SoView2DAnnotation.h.

◆ abreviateShortChars

SoSFInt32 SoView2DAnnotation::abreviateShortChars

Definition at line 176 of file SoView2DAnnotation.h.

◆ annotationCTBottomCenter

SoSFString SoView2DAnnotation::annotationCTBottomCenter

Definition at line 136 of file SoView2DAnnotation.h.

◆ annotationCTBottomLeft

SoSFString SoView2DAnnotation::annotationCTBottomLeft

Definition at line 134 of file SoView2DAnnotation.h.

◆ annotationCTBottomRight

SoSFString SoView2DAnnotation::annotationCTBottomRight

Definition at line 135 of file SoView2DAnnotation.h.

◆ annotationCTTopLeft

SoSFString SoView2DAnnotation::annotationCTTopLeft

Definition at line 132 of file SoView2DAnnotation.h.

◆ annotationCTTopRight

SoSFString SoView2DAnnotation::annotationCTTopRight

Definition at line 133 of file SoView2DAnnotation.h.

◆ annotationFontSize

SoSFEnum SoView2DAnnotation::annotationFontSize

Definition at line 161 of file SoView2DAnnotation.h.

◆ annotationMode

SoSFEnum SoView2DAnnotation::annotationMode

Definition at line 159 of file SoView2DAnnotation.h.

◆ annotationMRBottomCenter

SoSFString SoView2DAnnotation::annotationMRBottomCenter

Definition at line 142 of file SoView2DAnnotation.h.

◆ annotationMRBottomLeft

SoSFString SoView2DAnnotation::annotationMRBottomLeft

Definition at line 140 of file SoView2DAnnotation.h.

◆ annotationMRBottomRight

SoSFString SoView2DAnnotation::annotationMRBottomRight

Definition at line 141 of file SoView2DAnnotation.h.

◆ annotationMRTopLeft

SoSFString SoView2DAnnotation::annotationMRTopLeft

Definition at line 138 of file SoView2DAnnotation.h.

◆ annotationMRTopRight

SoSFString SoView2DAnnotation::annotationMRTopRight

Definition at line 139 of file SoView2DAnnotation.h.

◆ annotationUserBottomCenter

SoSFString SoView2DAnnotation::annotationUserBottomCenter

Definition at line 130 of file SoView2DAnnotation.h.

◆ annotationUserBottomLeft

SoSFString SoView2DAnnotation::annotationUserBottomLeft

Definition at line 128 of file SoView2DAnnotation.h.

◆ annotationUserBottomRight

SoSFString SoView2DAnnotation::annotationUserBottomRight

Definition at line 129 of file SoView2DAnnotation.h.

◆ annotationUserTopLeft

SoSFString SoView2DAnnotation::annotationUserTopLeft

Fields.

Definition at line 126 of file SoView2DAnnotation.h.

◆ annotationUserTopRight

SoSFString SoView2DAnnotation::annotationUserTopRight

Definition at line 127 of file SoView2DAnnotation.h.

◆ backgroundColor

SoSFColor SoView2DAnnotation::backgroundColor

Definition at line 228 of file SoView2DAnnotation.h.

◆ backgroundEdgeColor

SoSFColor SoView2DAnnotation::backgroundEdgeColor

Definition at line 230 of file SoView2DAnnotation.h.

◆ backgroundEdgeOpacity

SoSFFloat SoView2DAnnotation::backgroundEdgeOpacity

Definition at line 231 of file SoView2DAnnotation.h.

◆ backgroundOpacity

SoSFFloat SoView2DAnnotation::backgroundOpacity

Definition at line 229 of file SoView2DAnnotation.h.

◆ drawBackgroundBox

SoSFBool SoView2DAnnotation::drawBackgroundBox

Definition at line 227 of file SoView2DAnnotation.h.

◆ drawNegativeOrientation

SoSFBool SoView2DAnnotation::drawNegativeOrientation

Definition at line 179 of file SoView2DAnnotation.h.

◆ drawPositiveOrientation

SoSFBool SoView2DAnnotation::drawPositiveOrientation

Definition at line 180 of file SoView2DAnnotation.h.

◆ fontWidthDummyString

SoSFString SoView2DAnnotation::fontWidthDummyString

Definition at line 166 of file SoView2DAnnotation.h.

◆ hitOrientationLetter

SoSFString SoView2DAnnotation::hitOrientationLetter

Definition at line 236 of file SoView2DAnnotation.h.

◆ horizontalRuler

SoSFBool SoView2DAnnotation::horizontalRuler

Definition at line 184 of file SoView2DAnnotation.h.

◆ horizontalRulerMarginBottom

SoSFInt32 SoView2DAnnotation::horizontalRulerMarginBottom

Definition at line 186 of file SoView2DAnnotation.h.

◆ inOrientationModel

SoSFNode SoView2DAnnotation::inOrientationModel

Definition at line 233 of file SoView2DAnnotation.h.

◆ input00

SoSFString SoView2DAnnotation::input00

Definition at line 204 of file SoView2DAnnotation.h.

◆ input01

SoSFString SoView2DAnnotation::input01

Definition at line 205 of file SoView2DAnnotation.h.

◆ input02

SoSFString SoView2DAnnotation::input02

Definition at line 206 of file SoView2DAnnotation.h.

◆ input03

SoSFString SoView2DAnnotation::input03

Definition at line 207 of file SoView2DAnnotation.h.

◆ input04

SoSFString SoView2DAnnotation::input04

Definition at line 208 of file SoView2DAnnotation.h.

◆ input05

SoSFString SoView2DAnnotation::input05

Definition at line 209 of file SoView2DAnnotation.h.

◆ input06

SoSFString SoView2DAnnotation::input06

Definition at line 210 of file SoView2DAnnotation.h.

◆ input07

SoSFString SoView2DAnnotation::input07

Definition at line 211 of file SoView2DAnnotation.h.

◆ input08

SoSFString SoView2DAnnotation::input08

Definition at line 212 of file SoView2DAnnotation.h.

◆ input09

SoSFString SoView2DAnnotation::input09

Definition at line 213 of file SoView2DAnnotation.h.

◆ isMouseOverCube

SoSFBool SoView2DAnnotation::isMouseOverCube

Definition at line 235 of file SoView2DAnnotation.h.

◆ marginBottom

SoSFInt32 SoView2DAnnotation::marginBottom

Definition at line 172 of file SoView2DAnnotation.h.

◆ marginLeft

SoSFInt32 SoView2DAnnotation::marginLeft

Definition at line 171 of file SoView2DAnnotation.h.

◆ marginRight

SoSFInt32 SoView2DAnnotation::marginRight

Definition at line 173 of file SoView2DAnnotation.h.

◆ marginTop

SoSFInt32 SoView2DAnnotation::marginTop

Definition at line 170 of file SoView2DAnnotation.h.

◆ maxDetailFontSize

SoSFInt32 SoView2DAnnotation::maxDetailFontSize

Definition at line 151 of file SoView2DAnnotation.h.

◆ maxShortFontSize

SoSFInt32 SoView2DAnnotation::maxShortFontSize

Definition at line 153 of file SoView2DAnnotation.h.

◆ minDetailFontSize

SoSFInt32 SoView2DAnnotation::minDetailFontSize

Definition at line 150 of file SoView2DAnnotation.h.

◆ minShortFontSize

SoSFInt32 SoView2DAnnotation::minShortFontSize

Definition at line 152 of file SoView2DAnnotation.h.

◆ numInput00

SoSFDouble SoView2DAnnotation::numInput00

Definition at line 215 of file SoView2DAnnotation.h.

◆ numInput01

SoSFDouble SoView2DAnnotation::numInput01

Definition at line 216 of file SoView2DAnnotation.h.

◆ numInput02

SoSFDouble SoView2DAnnotation::numInput02

Definition at line 217 of file SoView2DAnnotation.h.

◆ numInput03

SoSFDouble SoView2DAnnotation::numInput03

Definition at line 218 of file SoView2DAnnotation.h.

◆ numInput04

SoSFDouble SoView2DAnnotation::numInput04

Definition at line 219 of file SoView2DAnnotation.h.

◆ numInput05

SoSFDouble SoView2DAnnotation::numInput05

Definition at line 220 of file SoView2DAnnotation.h.

◆ numInput06

SoSFDouble SoView2DAnnotation::numInput06

Definition at line 221 of file SoView2DAnnotation.h.

◆ numInput07

SoSFDouble SoView2DAnnotation::numInput07

Definition at line 222 of file SoView2DAnnotation.h.

◆ numInput08

SoSFDouble SoView2DAnnotation::numInput08

Definition at line 223 of file SoView2DAnnotation.h.

◆ numInput09

SoSFDouble SoView2DAnnotation::numInput09

Definition at line 224 of file SoView2DAnnotation.h.

◆ orientationAndScaleFromCamera

SoSFBool SoView2DAnnotation::orientationAndScaleFromCamera

field that enables getting the orientation matrix from the Inventor scene instead of the input image

Definition at line 240 of file SoView2DAnnotation.h.

◆ orientationColor

SoSFColor SoView2DAnnotation::orientationColor

Definition at line 181 of file SoView2DAnnotation.h.

◆ orientationModel

SoSFBool SoView2DAnnotation::orientationModel

Definition at line 188 of file SoView2DAnnotation.h.

◆ orientationModelColor

SoSFColor SoView2DAnnotation::orientationModelColor

Definition at line 200 of file SoView2DAnnotation.h.

◆ orientationModelMaxHorizontalOffset

SoSFInt32 SoView2DAnnotation::orientationModelMaxHorizontalOffset

Definition at line 198 of file SoView2DAnnotation.h.

◆ orientationModelMaxSize

SoSFInt32 SoView2DAnnotation::orientationModelMaxSize

Definition at line 192 of file SoView2DAnnotation.h.

◆ orientationModelMaxVerticalOffset

SoSFInt32 SoView2DAnnotation::orientationModelMaxVerticalOffset

Definition at line 195 of file SoView2DAnnotation.h.

◆ orientationModelMinHorizontalOffset

SoSFInt32 SoView2DAnnotation::orientationModelMinHorizontalOffset

Definition at line 197 of file SoView2DAnnotation.h.

◆ orientationModelMinSize

SoSFInt32 SoView2DAnnotation::orientationModelMinSize

Definition at line 191 of file SoView2DAnnotation.h.

◆ orientationModelMinVerticalOffset

SoSFInt32 SoView2DAnnotation::orientationModelMinVerticalOffset

Definition at line 194 of file SoView2DAnnotation.h.

◆ orientationModelPosition

SoSFEnum SoView2DAnnotation::orientationModelPosition

Definition at line 189 of file SoView2DAnnotation.h.

◆ orientationModelRelativeHorizontalOffset

SoSFFloat SoView2DAnnotation::orientationModelRelativeHorizontalOffset

Definition at line 196 of file SoView2DAnnotation.h.

◆ orientationModelRelativeSize

SoSFFloat SoView2DAnnotation::orientationModelRelativeSize

Definition at line 190 of file SoView2DAnnotation.h.

◆ orientationModelRelativeVerticalOffset

SoSFFloat SoView2DAnnotation::orientationModelRelativeVerticalOffset

Definition at line 193 of file SoView2DAnnotation.h.

◆ rulerFontSize

SoSFInt32 SoView2DAnnotation::rulerFontSize

Definition at line 157 of file SoView2DAnnotation.h.

◆ rulerShadow

SoSFBool SoView2DAnnotation::rulerShadow

Definition at line 164 of file SoView2DAnnotation.h.

◆ shortBottomCenter

SoSFString SoView2DAnnotation::shortBottomCenter

Definition at line 148 of file SoView2DAnnotation.h.

◆ shortBottomLeft

SoSFString SoView2DAnnotation::shortBottomLeft

Definition at line 146 of file SoView2DAnnotation.h.

◆ shortBottomRight

SoSFString SoView2DAnnotation::shortBottomRight

Definition at line 147 of file SoView2DAnnotation.h.

◆ shortTopLeft

SoSFString SoView2DAnnotation::shortTopLeft

Definition at line 144 of file SoView2DAnnotation.h.

◆ shortTopRight

SoSFString SoView2DAnnotation::shortTopRight

Definition at line 145 of file SoView2DAnnotation.h.

◆ showAnnotation

SoSFEnum SoView2DAnnotation::showAnnotation

Definition at line 160 of file SoView2DAnnotation.h.

◆ showOrientation

SoSFEnum SoView2DAnnotation::showOrientation

Definition at line 178 of file SoView2DAnnotation.h.

◆ showTechnicalInfo

SoSFBool SoView2DAnnotation::showTechnicalInfo

Definition at line 202 of file SoView2DAnnotation.h.

◆ targetHeight

SoSFInt32 SoView2DAnnotation::targetHeight

Definition at line 168 of file SoView2DAnnotation.h.

◆ targetWidth

SoSFInt32 SoView2DAnnotation::targetWidth

Definition at line 167 of file SoView2DAnnotation.h.

◆ textShadow

SoSFBool SoView2DAnnotation::textShadow

Definition at line 162 of file SoView2DAnnotation.h.

◆ textShadowColor

SoSFColor SoView2DAnnotation::textShadowColor

Definition at line 163 of file SoView2DAnnotation.h.

◆ userDetailFontSize

SoSFInt32 SoView2DAnnotation::userDetailFontSize

Definition at line 154 of file SoView2DAnnotation.h.

◆ userShortFontSize

SoSFInt32 SoView2DAnnotation::userShortFontSize

Definition at line 155 of file SoView2DAnnotation.h.

◆ verticalRuler

SoSFBool SoView2DAnnotation::verticalRuler

Definition at line 183 of file SoView2DAnnotation.h.

◆ verticalRulerMarginRight

SoSFInt32 SoView2DAnnotation::verticalRulerMarginRight

Definition at line 185 of file SoView2DAnnotation.h.


The documentation for this class was generated from the following file: