22 #include <Inventor/nodes/SoSubNode.h>
27 #include <Inventor/fields/SoSFTrigger.h>
28 #include <Inventor/fields/SoSFVec3f.h>
29 #include <Inventor/fields/SoSFColor.h>
30 #include <Inventor/fields/SoSFMatrix.h>
31 #include <Inventor/sensors/SoFieldSensor.h>
32 #include <Inventor/sensors/SoNodeSensor.h>
33 #include <Inventor/SbLinear.h>
142 void _startDrag(
const SbVec3f& voxelPos);
148 bool _pointerInViewer;
154 void _drawIconAt(
int index,
const SbVec2f& p0,
const SbVec2f& d1,
const SbVec2f& d2,
float size);
157 void _drawTexture(
View2DTexture* texture,
const SbVec2f& p0,
const SbVec2f& p1,
const SbVec2f& p2);
161 Part _getPart(
View2DSlice *slice,
const SbVec3f& worldPos)
const;
167 void _initializeImages();
169 void _setUndoEnabled(
bool enabled);
170 void _setRedoEnabled(
bool enabled);
179 SbVec3f _startingPointWorld;
182 RegistrationState _startingState;
188 bool _calcRotationCenter;
199 class ResetAction :
public CommandAction
204 void execute()
override { getWidget()->doReset(); }
207 ResetAction* _resetAction;
#define SOVIEW2D_API
File to resolve system dependencies in View2D library.
SoCommandAction is the base class for instantaneous actions.
void pointerPosition(SoState *state, const SoPointerPosition &pos) override
Same as below, with additional SoState argument. By default, simply calls the below version.
virtual void pointerLeftWindow()
This is called when the mouse cursor leaves the window.
SoPointerPosition manages the current position of the mouse cursor.
SoPointingAction is the base class for any mouse based interaction.
SoView2DInteractionExtension is base class for all SoView2DExtensions that want to support the Manage...
interactive editor to accumulate a transformation matrix
void setRegistrationState(const RegistrationState &state)
SoSFString resolvedCenterImageFile
void doResetCallback(SoField *)
field change callbacks:
void pointerPosition(const SoPointerPosition &pos) override
interface inherited from SoInteractionProvider
bool implementsManagedInteractionAndClassicEventHandling() const override
return true if this node is a hybrid module providing managed interaction and classic event handling ...
SoSFFloat maxWheelSizeInPixels
~SoView2DRigidRegistrationEditorBase() override
Protected destructor.
SoSFVec3f rotationCenterWorld
the current rotation center in world coordinates
virtual void iconImagesChanged(SoField *)
SoPointingAction * endPress(int clickCount) override
int getCurrentCursor(SoViewerProxy *viewerProxy) override
interface forwarded from SoPointingAction:
void draw(View2DSliceList *list, View2DSlice *slice, int z) override
Called by the SoView2D for each slice that is rendered.
void doResetRotationWheelCenterCallback(SoField *)
SoSFFloat minWheelSizeInPixels
static void initClass()
Initializes this class (called on dll initialization).
bool getRegistrationState(RegistrationState &state) const
virtual void pushOldState(const RegistrationState &)
callback for undo system
SoSFTrigger resetRotationWheelCenter
SoSFString resolvedWheelImageFile
appearance configuration
void pointerLeftWindow() override
This is called when the mouse cursor leaves the window.
SoSFFloat rotationRelativeCenterRadius
void unsetHighlight() override
SoSFMatrix defaultOutputMatrix
default values for outputMatrix and rotationCenterWorld, these will propagate directly and reset the ...
void dragMoveTo(const SoPointerPosition &pos) override
void startPressAt(const SoPointerPosition &pos) override
SoSFFloat maxRelativeWheelRadius
SoSFFloat minRelativeWheelRadius
void setHighlightAt(const SoPointerPosition &pos) override
bool isSensitiveAt(const SoPointerPosition &) override
interface forwarded from SoPointingAction:
SoSFMatrix outputMatrix
matrix with the current registration matrix
SoView2DRigidRegistrationEditorBase(const std::string &actionID)
Constructor.
SoSFFloat sizeViewerPercentage
This class gives access to state of a viewer during scene graph traversal.
Defines and implements a class to store multiple images and draw them via OpenGL.
a list that holds all View2DSlice objects (lazily created) of a SoView2D
a single slice that is stored in a View2DSliceList, typically created by a View2DSliceList
A class to render images as OpenGL Textures.
RegistrationState(SbMatrix aMatrix, SbVec3f aCenter)