17#include <Inventor/sensors/SoFieldSensor.h>
79 void _resetZoom(SoField* field =
nullptr);
#define SOVIEW2D_API
File to resolve system dependencies in View2D library.
SoPointerPosition manages the current position of the mouse cursor.
static void timerSensorCB(void *data, SoSensor *sensor)
Callback for timer sensor that is used for smooth zooming.
SoPointingAction * endPress(int clickCount) override
void startCenter(SoView2D *view2d, const SbVec3f &voxelPos, bool isInImage)
bool _shouldReset
flag if the view should reset on next click
bool evalEvent(SoView2D *view2d, View2DSliceList *slicelist, View2DEvent *ec, View2DEventPhase phase) override
reimplemented from SoView2DExtension
SoSFTrigger triggerResetZoom
Triggering causes centering of the view.
SoTimerSensor * _timer
the timer that repaints and triggers zooming
void startDrawing(View2DSliceList *slicelist) override
reimplemented from SoView2DExtension
float _newcentery
the new center y that we zoom to
SoView2D * _zoomView
the SoView2D where the zoom has been started
bool _gotoOn
flag if zooming is currently on
~SoView2DAutoCenter() override
void startPressAt(const SoPointerPosition &pos) override
void draw(View2DSliceList *slicelist, View2DSlice *slice, int sliceZ) override
reimplemented from SoView2DExtension
float _newcenterx
the new center x that we zoom to
SoView2DInteractionExtension(const std::string &actionID, bool positionSensitive=true)
SoView2D is a 2D viewer for image data.
View2DEvent stores all information on an event on a SoView2D.
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