18#include <Inventor/sensors/SoFieldSensor.h>
72 std::vector<int> _csoIds;
73 std::vector<SbVec2f> _deviceCoordinates;
76 void _shouldRenderCB(SoField* field);
78 void setInheritedFields();
80 void resetStringField(SoSFString& field);
84 void ensurePositionIsInViewer(
const SbVec2f& viewerUpperLeft,
const SbVec2f& viewerLowerRight, SbVec2f& annotationPosition);
86 void updateDeviceCoordinatesField();
87 void updateVisibleCSOIdsField();
bool shouldRenderGeneral(ml::CSO *) const override
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
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.
SoCSOEditorExtension()
Hidden constructor.
SoPointerPosition manages the current position of the mouse cursor.
a list that holds all View2DSlice objects (lazily created) of a SoView2D
Base module for providing custom label placement strategies.