MeVisLab Toolbox Reference
SoCSOLabelRenderer Class Reference

Extension for rendering labels for CSOs. More...

#include <SoCSOLabelRenderer.h>

Inheritance diagram for SoCSOLabelRenderer:
SoCSOEditorExtension

Public Member Functions

 SoCSOLabelRenderer ()
 Standard constructor. More...
 
void setVisibleCSOs (const std::vector< CSODrawCSOInfos > &drawCSOInformation, const CSODrawView2DInfos &view2DInfos, SoView2DCSOExtensibleEditor *editor) override
 Set information about all the CSOs that are to be rendered. More...
 
void draw (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, SoView2DCSOExtensibleEditor *editor) override
 Drawing routine. More...
 
void drawSecondPass (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, SoView2DCSOExtensibleEditor *editor) override
 Drawing routine that comes between 'main' and 'overlay'. More...
 
void drawOverlay (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, SoView2DCSOExtensibleEditor *editor) override
 Routine for drawing after the main routine has drawn. More...
 
bool isModificationEditor () const override
 Returns whether the editor is a modification editor. More...
 
void labelMoveStartPressAt (ml::CSO *cso, const SoPointerPosition &pos)
 
void labelMoveDragMoveTo (ml::CSO *cso, const SoPointerPosition &pos)
 
SoPointingActionlabelMoveEndPress (ml::CSO *cso, int clickCount)
 
void labelResizeStartPressAt (ml::CSO *cso, const SoPointerPosition &pos)
 
void labelResizeDragMoveTo (ml::CSO *cso, const SoPointerPosition &pos, int resizeHandlerCode)
 
SoPointingActionlabelResizeEndPress (ml::CSO *cso, int clickCount)
 
void createStartPressAt (const SoPointerPosition &) override
 
void createDragMoveTo (const SoPointerPosition &) override
 
bool createEndPress (int) override
 
void pointerPositionIfAllowedAt (const SoPointerPosition &) override
 Sets seed points while moving the mouse – but not while dragging. More...
 
void selectAndMoveStartPressAt (const SoPointerPosition &) override
 
void selectAndMoveDragMoveTo (const SoPointerPosition &) override
 
SoPointingActionselectAndMoveEndPress (int) override
 
void pointerPosition (const SoPointerPosition &pos) override
 Is called when the mouse moves over a viewer. More...
 
void pointerLeftWindow () override
 Is called when mouse pointer leaves the window. More...
 
int cursorShape () const override
 Returns the cursor shape that indicates the next creation. More...
 
void setLabelUnderMouseForInteraction (ml::CSO *cso)
 Sets the label for the given CSO as being under the mouse for interaction (select, move, resize). More...
 
void setLabelUnderMouseForHighlighting (ml::CSO *cso)
 Sets the label for the given CSO as being under the mouse for highlighting. More...
 
bool shouldRenderGeneral (ml::CSO *) const override
 Returns whether a given CSO should be rendered by this general extension. More...
 
void startDrawing (View2DSliceList *slicelist) override
 Is called before drawing. More...
 
ml::CSOgetLabelCSO (const std::string &currentViewerId, const SoPointerPosition &pos)
 Returns the pointer to a CSO whose label is on the given viewer under the given position. More...
 
ml::CSOgetHitResizeHandler (const std::string &currentViewerId, const SoPointerPosition &pos, int &resizeHandlerCode)
 Returns the pointer to a CSO whose label is on the given viewer under the given position. Fills up the hit resize handler code. More...
 
void setOuterModule (ml::CSOLabelRenderer *labelRendererModule)
 Sets a pointer to the 'outer' module. More...
 
void updateStringsInCache ()
 Updates all label strings in the cache. More...
 
void resetCache () override
 Resets the internal label string cache. More...
 
void computeOutputInformation ()
 Fills output information fields for a CSO on a viewer. More...
 
- Public Member Functions inherited from SoCSOEditorExtension
void setExtensibleEditor (SoView2DCSOExtensibleEditor *extensibleEditor)
 Sets the pointer to the calling extensible editor. More...
 
virtual void activate (SoView2DCSOExtensibleEditor *extensibleEditor)
 Is called when an extension is activated by the SoView2DExtensibleEditor. More...
 
virtual void deactivate ()
 Is called when an extension is deactivated by the SoView2DExtensibleEditor. More...
 
virtual void buttonMaskChanged ()
 Is called when the button mask of the SoView2DExtensibleEditor has changed. More...
 
virtual void editingOnChanged ()
 Is called when the editingOn field of the SoView2DExtensibleEditor has changed. More...
 
virtual void drawingDone ()
 Is called when all drawing is done. More...
 
virtual void drawAdditionalGeometry (const CSODrawView2DInfos &view2DInfos, SoView2DCSOExtensibleEditor *editor)
 Routine for drawing additional geometry of the extension. More...
 
virtual void insertSeedPointStartPressAt (const SoPointerPosition &)
 
virtual void insertSeedPointDragMoveTo (const SoPointerPosition &)
 
virtual SoPointingActioninsertSeedPointEndPress (int)
 
virtual void bulgeStartPressAt (const SoPointerPosition &)
 
virtual void bulgeDragMoveTo (const SoPointerPosition &)
 
virtual SoPointingActionbulgeEndPress (int)
 
virtual bool isCreationAllowed () const
 Returns whether the editor is allowed to create a new CSO. More...
 
virtual bool isCreationAllowedAt (const SoPointerPosition &) const
 Returns whether the editor is allowed to create a new CSO at the given position, by default calls the previous method. More...
 
virtual bool isModificationAllowed () const
 Returns whether the editor is allowed to modify an existing CSO. More...
 
virtual bool shouldRenderCSOs () const
 Returns whether the editor should render. More...
 
virtual bool canCreateCSOs () const
 Returns whether the editor can create a CSO. More...
 
virtual ml::CSOgetActiveCSO () const
 Returns the currently active CSO. More...
 
virtual bool expectsToCreateCSO ()
 Returns whether an editor is awaiting to create a new CSO, depending on the requireMousemovement flag. More...
 
SbString getCreatorExtensionId () const
 
void setActiveCSOList (ml::CSOList *hitCSOList)
 
void setSelectAndMoveInformation (ml::CSOList *hitCSOList, ml::CSO *hitCSO, ml::CSOSeedPoint *hitSeedPoint, ml::CSOPathPoints *hitPathPoints, float hitDistance)
 
void setCSOUnderMouse (ml::CSO *cso)
 
ml::CSOgetCSOUnderMouse () const
 
bool hasSelectedSeedPoint () const
 
bool hasSelectedCSO () const
 
virtual SbString getSubType () const
 Returns the sub type string of the derived class. More...
 
virtual bool shouldRenderSpecific (ml::CSO *cso) const
 Returns whether a given CSO should be rendered by this specific extension. More...
 
virtual bool isDefaultRenderer () const
 Returns whether the editor is the default editor. More...
 
virtual void cancel ()
 Cancels an action like generating a CSO. Depends on concrete editor. More...
 
virtual bool deleteSeedPoint (ml::CSO *cso, ml::CSOSeedPoint *)
 Removes the given seed point from the given CSO and returns whether that was successful. More...
 
ml::CSOSeedPointgetPreviousSeedPoint (ml::CSOSeedPoint *seedPoint) const
 Returns the previous seed point of the given seed point for setting it as the next selected seed point. More...
 
virtual void mouseWheelEventReceived (SoMouseWheelEvent::Orientation, int, View2DEvent *)
 Method is called when the extensible editor received a mouse wheel event. More...
 
virtual bool evaluateHitPoint (const ml::Vector3 &worldPosition, View2DSliceList *slicelist, ml::CSOList *csoList, const ml::CSOBoundingBox &slabBB, SoView2DCSOExtensibleEditor *editor, ml::CSO *&localHitCSO, ml::CSOSeedPoint *&localHitSeedPoint, ml::CSOPathPoints *&localHitPathPoints, float &distance)
 Returns whether the given world position is within the selection distance set in the editor and fills the selection distance. More...
 
void reset ()
 
ml::CSOVisualizationSettingsgetVisualizationSettings ()
 Returns a pointer to the visual settings that are either the default ones or the ones set to the extensible editor (if present). More...
 
bool shouldShowCSOForCurrentTimePoint (const CSODrawView2DInfos &view2DInfos, ml::CSO *cso)
 Returns whether the given CSO should be rendered for the current time point. More...
 
void sendCSOEventsOnCancel (ml::CSO *cso)
 Sends CSO events for completing a creation or interaction when canceling it. More...
 
virtual void sendCSOEventsOnCancel (ml::CSOList *csoList)
 

Static Public Member Functions

static void initClass ()
 init class in inventor runtime More...
 
- Static Public Member Functions inherited from SoCSOEditorExtension
static void initClass ()
 init class in inventor runtime More...
 

Public Attributes

SoSFMLBase inLabelPlacement
 Option input of label placement. More...
 
SoSFInt32 labelBorderMarginX
 Sets the inner margin of the label border in x-direction. More...
 
SoSFInt32 labelBorderMarginY
 Sets the inner margin of the label border in y-direction. More...
 
SoSFBool drawLabelBorderForSelectedCSO
 Shall a border be drawn around the label of a selected CSO? More...
 
SoSFBool shouldRenderLabelName
 Shall the label name be rendered at the CSO when the label has been moved away? More...
 
SoSFBool shouldDrawConnectingLine
 Shall a connecting line between the label and the CSO be drawn? More...
 
SoSFBool shouldHighlightBorderOnMouseOver
 Shall the label's border be highlighted on mouse over? More...
 
SoSFFloat connectingLineAlpha
 Global alpha factor that is multiplied to the local alpha factor of connecting lines. More...
 
SoSFBool allowLabelResize
 Shall the user be allowed to resize a label? More...
 
SoSFBool shouldDrawResizeHandlers
 Shall resize handlers be drawn? More...
 
SoSFInt32 minConnectingLineLength
 The minimum length of a connecting line to get drawn (in pixel). More...
 
SoSFBool drawConnectingLineToCenterOfCSO
 Shall the connecting line be drawn to th center of a CSO? Or to the nearest point on the CSO? More...
 
SoSFTrigger repaintTrigger
 Just a dummy field to trigger a repaint. More...
 
SoSFInt32 fontSize
 Sets the font size of the text. More...
 
SoSFBool tryToPlaceLabelsWithoutOverlap
 Should the renderer attempt to place a label without overlapping other labels? More...
 
SoSFEnum detachedLabelPlacement
 Positioning strategy for detached (manually moved) labels. More...
 
SoSFEnum viewerBorderHandling
 Handling of labels that move over the viewer's border. More...
 
SoSFEnum movePossibleCursor
 
SoSFEnum movePerformCursor
 
SoSFEnum scaleNCursor
 
SoSFEnum scaleNWCursor
 
SoSFEnum scaleWCursor
 
SoSFEnum scaleSWCursor
 
SoSFEnum scaleSCursor
 
SoSFEnum scaleSECursor
 
SoSFEnum scaleECursor
 
SoSFEnum scaleNECursor
 
SoSFInt32 inputInfoCSOId
 Trade interface for retrieving the device position (and other information) of a label on a certain viewer. More...
 
SoSFString inputInfoViewerId
 Input of the viewer id string. More...
 
SoSFVec2f outputInfoLabelBoundingBoxStart
 Output of the upper left corner of the label's bounding box. More...
 
SoSFVec2f outputInfoLabelBoundingBoxEnd
 Output of the lower right corner of the label's bounding box. More...
 
SoSFString outputInfoLabelCaption
 Output of the label's caption. More...
 
SoSFString outputInfoLabelString
 Output of the label's string. More...
 
SoSFInt32 outputInfoLabelCaptionWidth
 Output of the x-offset value of the label's string. More...
 
SoSFBool outputInfoIsValid
 Flag to indicate whether the output info is valid. More...
 
SoSFBool shouldShowLabelStringOfOutputInfoLabel
 Should the label string be hidden for the label. More...
 
- Public Attributes inherited from SoCSOEditorExtension
SoSFString extensionId
 ID for a editor, needs to be unique per editor extension instance. More...
 
SoSFBool allowCreation
 Shall the editor allow creation? More...
 
SoSFBool allowModification
 Shall the editor allow modification of CSOs of its type? More...
 
SoSFBool allowSeedPointInteraction
 Should the interaction with seed points be allowed? More...
 
SoSFBool shouldRender
 Shall the editor render its CSOs? More...
 
SoSFMLBase inVisualizationSettings
 Optionally attached visualization settings, overrides the vis. More...
 
SoSFEnum selectionCursor
 
SoSFEnum interactionForbiddenCursor
 
SoSFInt32 csoIdUnderMouseCursor
 The id of the CSO currently under the mouse (or -1 if no CSO is under the mouse). More...
 

Protected Member Functions

 ~SoCSOLabelRenderer () override
 Destructor. More...
 
- Protected Member Functions inherited from SoCSOEditorExtension
 SoCSOEditorExtension ()
 Hidden constructor. More...
 
 ~SoCSOEditorExtension () override
 Hidden destructor. More...
 
virtual void initMembers ()
 
void sendCSONotificationRepaint ()
 Sends a CSO notification to repaint the CSOList. More...
 
void sendCSONotificationMove ()
 Sends a CSO notification on moving a CSO or seed point. More...
 
void sendCSONotificationFinishInteraction ()
 Sends a CSO notification on finishing an interaction with a CSO. More...
 
void sendCSONotificationResetInteractionState ()
 Sends a CSO notification on having the interaction state being reset. More...
 
void sendCSONotificationInsertSeedPoint ()
 Sends a CSO notification on inserting a seed point. More...
 
void sendCSONotificationNewCSOStarted ()
 Sends a CSO notification on having started to create a new CSO. More...
 
void setExtensionIdAsSubType ()
 Sets the subtype member to the value of the extension id string. More...
 
virtual void setCreationData (const SoPointerPosition &pos, ml::CSO *newCSO)
 Sets creation data to a newly created CSO. More...
 
void extensionIdCB (SoField *)
 
SoCSOEditorTools::LineRenderSettings getLineRenderSettingsOnSlice ()
 Creates a LineRenderSettings struct from the editors visualization settings "onSlice" section. More...
 
SoCSOEditorTools::LineRenderSettings getLineRenderSettingsForCSO (ml::CSO *cso)
 Creates a LineRenderSettings struct from the visualization attributes of the given CSO. More...
 
void drawPathPoints (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, const SbVec2f &shadowOffsetDevice, SoView2DCSOExtensibleEditor *editor)
 Draws the CSO by drawing lines between the path points. Renders different types of CSOs. More...
 
void renderPathPoints (const CSOPathPointsRenderSettings &renderSettings, const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const std::vector< CSOSliceCrossing > &pathPointsLists, GLint lineMode, const SbVec2f &shadowOffsetDevice)
 Draws path points with given render settings. More...
 
void drawPathAndCrossingPoints (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const SbVec2f &shadowOffsetDevice, const std::vector< CSOSliceCrossing > &pathAndCrossingPoints, GLint lineMode)
 Draws the path and crossing points. More...
 
void drawShape (int style, SoView2DCSOExtensibleEditor *editor, ml::CSOVisualizationSettings *visualizationSettings, float deviceX, float deviceY, float size, float lineWidth=1.f)
 Draws the shape with the given style with the given center and size. More...
 
void drawSeedPoints (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, SoView2DCSOExtensibleEditor *editor)
 Draws the seed points of the CSO. More...
 
void drawFixedSizeCircleAt (float deviceX, float deviceY)
 Renders a fixed size circle at the given position. More...
 
bool isCSOVisible (const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, SoView2DCSOExtensibleEditor *editor)
 Returns whether the CSO is visible on the current slice. More...
 
ml::Vector3 getTransformedPosition (const CSODrawView2DInfos &view2DInfos, const ml::Vector3 &position)
 If a SoCSOTransform exists, this method returns the transformed position. More...
 
void mapWorldToDevice (const SoPointerPosition &pos, const ml::Vector3 &worldPosition, float &deviceX, float &deviceY)
 Returns device coordinates for a given world position. More...
 
void mapWorldToDevice (View2DSliceList *slicelist, const ml::Vector3 &worldPosition, float &deviceX, float &deviceY)
 Returns device coordinates for a given world position. More...
 
ml::Vector3 mapDeviceToWorld (const SoPointerPosition &pos, float deviceX, float deviceY)
 Returns world coordinates for given device position. More...
 
ml::Vector3 mapWorldToVoxel (const SoPointerPosition &pos, const ml::Vector3 &worldPosition)
 Returns a voxel position for a given world position. More...
 
ml::Vector3 mapWorldToVoxel (const SoPointerPosition &pos, const SbVec3f &worldPosition)
 Returns a voxel position for a given world position. More...
 
ml::Vector3 mapVoxelToWorld (const SoPointerPosition &pos, const ml::Vector3 &voxelPosition)
 Returns a world position for a given voxel position. More...
 
SbVec2f nonShadowOffset () const
 Returns the default offset for non-shadows in pixels. More...
 
SbVec2f shadowOffset () const
 Returns the default offset for shadows in pixels. More...
 
GLint getLineMode (ml::CSO *cso)
 Returns the correct line mode for open and for closed CSOs. More...
 
void setupGLForCSO (const CSODrawCSOInfos &csoInfos)
 Sets up GL state for color, line width, and point size. More...
 
void setupGLShadow (float generalAlpha=1.0f)
 Sets up the GL state for shadow rendering (color and line width). More...
 
void glSetAlpha (float alpha)
 Sets an alpha value but retains the set color. More...
 
float getDepthAlpha (int maxSliceDistance, int currentSliceDistance) const
 Returns an alpha factor based on the max distance and the current distance. More...
 
bool doesCSOTimePointMatchCurrentTimePoint (const CSODrawView2DInfos &view2DInfos, ml::CSO *cso)
 Returns true if the CSO's time point matches the (overwritten) current time point. More...
 

Friends

class ml::CSOLabelPlacement
 

Additional Inherited Members

- Protected Attributes inherited from SoCSOEditorExtension
SoView2DCSOExtensibleEditor_editor
 
ml::CSOListPtr _hitCSOList
 Pointer to internal/interactive states. More...
 
ml::CSO_hitCSO
 
ml::CSOSeedPoint_hitSeedPoint
 
ml::CSOPathPoints_hitPathPoints
 
float _hitDistance
 
ml::CSO_csoUnderMouse
 
ml::CSOVisualizationSettings _visualizationSettings
 Default visual settings. Access them via the method getVisualSettings(). More...
 
SbString _subType
 Member for subtype of generated CSOs. More...
 

Detailed Description

Extension for rendering labels for CSOs.

Definition at line 45 of file SoCSOLabelRenderer.h.

Constructor & Destructor Documentation

◆ SoCSOLabelRenderer()

SoCSOLabelRenderer::SoCSOLabelRenderer ( )

Standard constructor.

◆ ~SoCSOLabelRenderer()

SoCSOLabelRenderer::~SoCSOLabelRenderer ( )
overrideprotected

Destructor.

Member Function Documentation

◆ computeOutputInformation()

void SoCSOLabelRenderer::computeOutputInformation ( )

Fills output information fields for a CSO on a viewer.

◆ createDragMoveTo()

void SoCSOLabelRenderer::createDragMoveTo ( const SoPointerPosition )
inlineoverridevirtual

Implements SoCSOEditorExtension.

Definition at line 86 of file SoCSOLabelRenderer.h.

◆ createEndPress()

bool SoCSOLabelRenderer::createEndPress ( int  )
inlineoverridevirtual

Implements SoCSOEditorExtension.

Definition at line 87 of file SoCSOLabelRenderer.h.

◆ createStartPressAt()

void SoCSOLabelRenderer::createStartPressAt ( const SoPointerPosition )
inlineoverridevirtual

Implements SoCSOEditorExtension.

Definition at line 85 of file SoCSOLabelRenderer.h.

◆ cursorShape()

int SoCSOLabelRenderer::cursorShape ( ) const
inlineoverridevirtual

Returns the cursor shape that indicates the next creation.

Reimplemented from SoCSOEditorExtension.

Definition at line 97 of file SoCSOLabelRenderer.h.

References SoViewerProxy::DEFAULT_CURSOR.

◆ draw()

void SoCSOLabelRenderer::draw ( const CSODrawCSOInfos csoInfos,
const CSODrawView2DInfos view2DInfos,
const CSODrawSliceInformation drawSliceInfo,
SoView2DCSOExtensibleEditor editor 
)
overridevirtual

Drawing routine.

Reimplemented from SoCSOEditorExtension.

◆ drawOverlay()

void SoCSOLabelRenderer::drawOverlay ( const CSODrawCSOInfos csoInfos,
const CSODrawView2DInfos view2DInfos,
const CSODrawSliceInformation sliceInfo,
SoView2DCSOExtensibleEditor editor 
)
overridevirtual

Routine for drawing after the main routine has drawn.

Use this for geometry depending on the CSO that needs to be drawn over what 'draw' has rendered.

Reimplemented from SoCSOEditorExtension.

◆ drawSecondPass()

void SoCSOLabelRenderer::drawSecondPass ( const CSODrawCSOInfos csoInfos,
const CSODrawView2DInfos view2DInfos,
const CSODrawSliceInformation sliceInfo,
SoView2DCSOExtensibleEditor editor 
)
overridevirtual

Drawing routine that comes between 'main' and 'overlay'.

Reimplemented from SoCSOEditorExtension.

◆ getHitResizeHandler()

ml::CSO* SoCSOLabelRenderer::getHitResizeHandler ( const std::string &  currentViewerId,
const SoPointerPosition pos,
int &  resizeHandlerCode 
)

Returns the pointer to a CSO whose label is on the given viewer under the given position. Fills up the hit resize handler code.

◆ getLabelCSO()

ml::CSO* SoCSOLabelRenderer::getLabelCSO ( const std::string &  currentViewerId,
const SoPointerPosition pos 
)

Returns the pointer to a CSO whose label is on the given viewer under the given position.

◆ initClass()

static void SoCSOLabelRenderer::initClass ( )
static

init class in inventor runtime

◆ isModificationEditor()

bool SoCSOLabelRenderer::isModificationEditor ( ) const
inlineoverridevirtual

Returns whether the editor is a modification editor.

Reimplemented from SoCSOEditorExtension.

Definition at line 71 of file SoCSOLabelRenderer.h.

◆ labelMoveDragMoveTo()

void SoCSOLabelRenderer::labelMoveDragMoveTo ( ml::CSO cso,
const SoPointerPosition pos 
)

◆ labelMoveEndPress()

SoPointingAction* SoCSOLabelRenderer::labelMoveEndPress ( ml::CSO cso,
int  clickCount 
)

◆ labelMoveStartPressAt()

void SoCSOLabelRenderer::labelMoveStartPressAt ( ml::CSO cso,
const SoPointerPosition pos 
)

◆ labelResizeDragMoveTo()

void SoCSOLabelRenderer::labelResizeDragMoveTo ( ml::CSO cso,
const SoPointerPosition pos,
int  resizeHandlerCode 
)

◆ labelResizeEndPress()

SoPointingAction* SoCSOLabelRenderer::labelResizeEndPress ( ml::CSO cso,
int  clickCount 
)

◆ labelResizeStartPressAt()

void SoCSOLabelRenderer::labelResizeStartPressAt ( ml::CSO cso,
const SoPointerPosition pos 
)

◆ pointerLeftWindow()

void SoCSOLabelRenderer::pointerLeftWindow ( )
overridevirtual

Is called when mouse pointer leaves the window.

Reimplemented from SoCSOEditorExtension.

◆ pointerPosition()

void SoCSOLabelRenderer::pointerPosition ( const SoPointerPosition )
overridevirtual

Is called when the mouse moves over a viewer.

Reimplemented from SoCSOEditorExtension.

◆ pointerPositionIfAllowedAt()

void SoCSOLabelRenderer::pointerPositionIfAllowedAt ( const SoPointerPosition pos)
inlineoverridevirtual

Sets seed points while moving the mouse – but not while dragging.

Is called in isSensitiveAt only while interacting on the same slice where the interaction has started.

Implements SoCSOEditorExtension.

Definition at line 88 of file SoCSOLabelRenderer.h.

◆ resetCache()

void SoCSOLabelRenderer::resetCache ( )
overridevirtual

Resets the internal label string cache.

Reimplemented from SoCSOEditorExtension.

◆ selectAndMoveDragMoveTo()

void SoCSOLabelRenderer::selectAndMoveDragMoveTo ( const SoPointerPosition )
inlineoverridevirtual

Implements SoCSOEditorExtension.

Definition at line 91 of file SoCSOLabelRenderer.h.

◆ selectAndMoveEndPress()

SoPointingAction* SoCSOLabelRenderer::selectAndMoveEndPress ( int  )
inlineoverridevirtual

Implements SoCSOEditorExtension.

Definition at line 92 of file SoCSOLabelRenderer.h.

◆ selectAndMoveStartPressAt()

void SoCSOLabelRenderer::selectAndMoveStartPressAt ( const SoPointerPosition )
inlineoverridevirtual

Implements SoCSOEditorExtension.

Definition at line 90 of file SoCSOLabelRenderer.h.

◆ setLabelUnderMouseForHighlighting()

void SoCSOLabelRenderer::setLabelUnderMouseForHighlighting ( ml::CSO cso)

Sets the label for the given CSO as being under the mouse for highlighting.

◆ setLabelUnderMouseForInteraction()

void SoCSOLabelRenderer::setLabelUnderMouseForInteraction ( ml::CSO cso)

Sets the label for the given CSO as being under the mouse for interaction (select, move, resize).

◆ setOuterModule()

void SoCSOLabelRenderer::setOuterModule ( ml::CSOLabelRenderer labelRendererModule)
inline

Sets a pointer to the 'outer' module.

Definition at line 115 of file SoCSOLabelRenderer.h.

◆ setVisibleCSOs()

void SoCSOLabelRenderer::setVisibleCSOs ( const std::vector< CSODrawCSOInfos > &  drawCSOInformation,
const CSODrawView2DInfos view2DInfos,
SoView2DCSOExtensibleEditor editor 
)
overridevirtual

Set information about all the CSOs that are to be rendered.

Reimplemented from SoCSOEditorExtension.

◆ shouldRenderGeneral()

bool SoCSOLabelRenderer::shouldRenderGeneral ( ml::CSO ) const
inlineoverridevirtual

Returns whether a given CSO should be rendered by this general extension.

Overwrite this in general renderers.

Reimplemented from SoCSOEditorExtension.

Definition at line 104 of file SoCSOLabelRenderer.h.

◆ startDrawing()

void SoCSOLabelRenderer::startDrawing ( View2DSliceList )
overridevirtual

Is called before drawing.

Reimplemented from SoCSOEditorExtension.

◆ updateStringsInCache()

void SoCSOLabelRenderer::updateStringsInCache ( )

Updates all label strings in the cache.

Friends And Related Function Documentation

◆ ml::CSOLabelPlacement

friend class ml::CSOLabelPlacement
friend

Definition at line 394 of file SoCSOLabelRenderer.h.

Member Data Documentation

◆ allowLabelResize

SoSFBool SoCSOLabelRenderer::allowLabelResize

Shall the user be allowed to resize a label?

Definition at line 146 of file SoCSOLabelRenderer.h.

◆ connectingLineAlpha

SoSFFloat SoCSOLabelRenderer::connectingLineAlpha

Global alpha factor that is multiplied to the local alpha factor of connecting lines.

Definition at line 144 of file SoCSOLabelRenderer.h.

◆ detachedLabelPlacement

SoSFEnum SoCSOLabelRenderer::detachedLabelPlacement

Positioning strategy for detached (manually moved) labels.

Definition at line 162 of file SoCSOLabelRenderer.h.

◆ drawConnectingLineToCenterOfCSO

SoSFBool SoCSOLabelRenderer::drawConnectingLineToCenterOfCSO

Shall the connecting line be drawn to th center of a CSO? Or to the nearest point on the CSO?

Definition at line 153 of file SoCSOLabelRenderer.h.

◆ drawLabelBorderForSelectedCSO

SoSFBool SoCSOLabelRenderer::drawLabelBorderForSelectedCSO

Shall a border be drawn around the label of a selected CSO?

Definition at line 134 of file SoCSOLabelRenderer.h.

◆ fontSize

SoSFInt32 SoCSOLabelRenderer::fontSize

Sets the font size of the text.

Definition at line 157 of file SoCSOLabelRenderer.h.

◆ inLabelPlacement

SoSFMLBase SoCSOLabelRenderer::inLabelPlacement

Option input of label placement.

Definition at line 127 of file SoCSOLabelRenderer.h.

◆ inputInfoCSOId

SoSFInt32 SoCSOLabelRenderer::inputInfoCSOId

Trade interface for retrieving the device position (and other information) of a label on a certain viewer.

Input of the CSO id.

Definition at line 169 of file SoCSOLabelRenderer.h.

◆ inputInfoViewerId

SoSFString SoCSOLabelRenderer::inputInfoViewerId

Input of the viewer id string.

Definition at line 171 of file SoCSOLabelRenderer.h.

◆ labelBorderMarginX

SoSFInt32 SoCSOLabelRenderer::labelBorderMarginX

Sets the inner margin of the label border in x-direction.

Definition at line 130 of file SoCSOLabelRenderer.h.

◆ labelBorderMarginY

SoSFInt32 SoCSOLabelRenderer::labelBorderMarginY

Sets the inner margin of the label border in y-direction.

Definition at line 132 of file SoCSOLabelRenderer.h.

◆ minConnectingLineLength

SoSFInt32 SoCSOLabelRenderer::minConnectingLineLength

The minimum length of a connecting line to get drawn (in pixel).

Definition at line 150 of file SoCSOLabelRenderer.h.

◆ movePerformCursor

SoSFEnum SoCSOLabelRenderer::movePerformCursor

Definition at line 191 of file SoCSOLabelRenderer.h.

◆ movePossibleCursor

SoSFEnum SoCSOLabelRenderer::movePossibleCursor

Definition at line 190 of file SoCSOLabelRenderer.h.

◆ outputInfoIsValid

SoSFBool SoCSOLabelRenderer::outputInfoIsValid

Flag to indicate whether the output info is valid.

Definition at line 184 of file SoCSOLabelRenderer.h.

◆ outputInfoLabelBoundingBoxEnd

SoSFVec2f SoCSOLabelRenderer::outputInfoLabelBoundingBoxEnd

Output of the lower right corner of the label's bounding box.

Definition at line 176 of file SoCSOLabelRenderer.h.

◆ outputInfoLabelBoundingBoxStart

SoSFVec2f SoCSOLabelRenderer::outputInfoLabelBoundingBoxStart

Output of the upper left corner of the label's bounding box.

Definition at line 174 of file SoCSOLabelRenderer.h.

◆ outputInfoLabelCaption

SoSFString SoCSOLabelRenderer::outputInfoLabelCaption

Output of the label's caption.

Definition at line 178 of file SoCSOLabelRenderer.h.

◆ outputInfoLabelCaptionWidth

SoSFInt32 SoCSOLabelRenderer::outputInfoLabelCaptionWidth

Output of the x-offset value of the label's string.

Definition at line 182 of file SoCSOLabelRenderer.h.

◆ outputInfoLabelString

SoSFString SoCSOLabelRenderer::outputInfoLabelString

Output of the label's string.

Definition at line 180 of file SoCSOLabelRenderer.h.

◆ repaintTrigger

SoSFTrigger SoCSOLabelRenderer::repaintTrigger

Just a dummy field to trigger a repaint.

Definition at line 155 of file SoCSOLabelRenderer.h.

◆ scaleECursor

SoSFEnum SoCSOLabelRenderer::scaleECursor

Definition at line 199 of file SoCSOLabelRenderer.h.

◆ scaleNCursor

SoSFEnum SoCSOLabelRenderer::scaleNCursor

Definition at line 193 of file SoCSOLabelRenderer.h.

◆ scaleNECursor

SoSFEnum SoCSOLabelRenderer::scaleNECursor

Definition at line 200 of file SoCSOLabelRenderer.h.

◆ scaleNWCursor

SoSFEnum SoCSOLabelRenderer::scaleNWCursor

Definition at line 194 of file SoCSOLabelRenderer.h.

◆ scaleSCursor

SoSFEnum SoCSOLabelRenderer::scaleSCursor

Definition at line 197 of file SoCSOLabelRenderer.h.

◆ scaleSECursor

SoSFEnum SoCSOLabelRenderer::scaleSECursor

Definition at line 198 of file SoCSOLabelRenderer.h.

◆ scaleSWCursor

SoSFEnum SoCSOLabelRenderer::scaleSWCursor

Definition at line 196 of file SoCSOLabelRenderer.h.

◆ scaleWCursor

SoSFEnum SoCSOLabelRenderer::scaleWCursor

Definition at line 195 of file SoCSOLabelRenderer.h.

◆ shouldDrawConnectingLine

SoSFBool SoCSOLabelRenderer::shouldDrawConnectingLine

Shall a connecting line between the label and the CSO be drawn?

Definition at line 139 of file SoCSOLabelRenderer.h.

◆ shouldDrawResizeHandlers

SoSFBool SoCSOLabelRenderer::shouldDrawResizeHandlers

Shall resize handlers be drawn?

Definition at line 148 of file SoCSOLabelRenderer.h.

◆ shouldHighlightBorderOnMouseOver

SoSFBool SoCSOLabelRenderer::shouldHighlightBorderOnMouseOver

Shall the label's border be highlighted on mouse over?

Definition at line 141 of file SoCSOLabelRenderer.h.

◆ shouldRenderLabelName

SoSFBool SoCSOLabelRenderer::shouldRenderLabelName

Shall the label name be rendered at the CSO when the label has been moved away?

Definition at line 137 of file SoCSOLabelRenderer.h.

◆ shouldShowLabelStringOfOutputInfoLabel

SoSFBool SoCSOLabelRenderer::shouldShowLabelStringOfOutputInfoLabel

Should the label string be hidden for the label.

Definition at line 186 of file SoCSOLabelRenderer.h.

◆ tryToPlaceLabelsWithoutOverlap

SoSFBool SoCSOLabelRenderer::tryToPlaceLabelsWithoutOverlap

Should the renderer attempt to place a label without overlapping other labels?

Definition at line 160 of file SoCSOLabelRenderer.h.

◆ viewerBorderHandling

SoSFEnum SoCSOLabelRenderer::viewerBorderHandling

Handling of labels that move over the viewer's border.

Definition at line 164 of file SoCSOLabelRenderer.h.


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