18#include <Inventor/sensors/SoFieldSensor.h>
72 std::vector<int> _csoIds;
73 std::vector<SbVec2f> _deviceCoordinates;
78 void setInheritedFields();
86 void updateDeviceCoordinatesField();
87 void updateVisibleCSOIdsField();
Extension computing the device coordinates for annotation on a viewer for visible CSOs.
bool shouldRenderGeneral(ml::CSO *) const override
Returns whether a given CSO should be rendered by this general extension.
void createDragMoveTo(const SoPointerPosition &) override
bool createEndPress(int) override
void createStartPressAt(const SoPointerPosition &) override
void draw(const CSODrawCSOInfos &csoInfos, const CSODrawView2DInfos &view2DInfos, const CSODrawSliceInformation &drawSliceInfo, SoView2DCSOExtensibleEditor *editor) override
Main routine for drawing a CSO.
void pointerPositionIfAllowedAt(const SoPointerPosition &) override
Sets seed points while moving the mouse – but not while dragging.
SoPointingAction * selectAndMoveEndPress(int) override
SoSFString annotationDeviceCoordinates
SoSFMLBase inLabelPlacement
~SoCSOAnnotationDeviceCoordinates() override
void computeLabelBoxes(const std::vector< CSODrawCSOInfos > &drawCSOInformation, const CSODrawView2DInfos &view2DInfos, std::map< int, SbVec2f > &labelBoxes)
void drawingDone() override
Is called when all drawing is done.
bool shouldRenderSpecific(ml::CSO *) const override
Returns whether a given CSO should be rendered by this specific extension.
SoSFBool updateSelectedCSOsOnly
void setVisibleCSOs(const std::vector< CSODrawCSOInfos > &drawCSOInformation, const CSODrawView2DInfos &view2DInfos, SoView2DCSOExtensibleEditor *editor) override
Sets visible CSOs that have been determined in the extensible editor.
void selectAndMoveDragMoveTo(const SoPointerPosition &) override
SoCSOAnnotationDeviceCoordinates()
void selectAndMoveStartPressAt(const SoPointerPosition &) override
void startDrawing(View2DSliceList *) override
Is called before drawing.
Base class for an editor extension for the SoView2DCSOExtensibleEditor.
SoPointerPosition manages the current position of the mouse cursor.
SoPointingAction is the base class for any mouse based interaction.
The SoSFMLBase field is the interface used by Inventor Nodes to output ML Base objects to the outside...
a list that holds all View2DSlice objects (lazily created) of a SoView2D
Base module for providing custom label placement strategies.
The CSO represents a contour segmentation object.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.