76#ifndef _SO_TAB_PLANE_DRAGGER_
77#define _SO_TAB_PLANE_DRAGGER_
280 static const unsigned char geomBuffer[];
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_KIT_CATALOG_ENTRY_HEADER(partName)
This defines an SoSFNode field for the catalog part given.
#define SO_KIT_HEADER(className)
Base class for nodekits that move in response to click-drag-release mouse events.
Sensor class that can be attached to Inventor fields.
Renders a scene graph using OpenGL.
Abstract base class for all database nodes.
Intersects objects with a ray cast into scene.
Field containing a three-dimensional vector.
Abstract base class for Inventor sensors.
Object you can translate or scale within a plane by dragging with the mouse.
virtual bool setUpConnections(bool onOff, bool doItAlways=FALSE)
detach/attach any sensors, callbacks, and/or field connections.
virtual void GLRender(SoGLRenderAction *action)
These virtual functions implement all of the actions for nodes, Most of the default implementations d...
virtual ~SoTabPlaneDragger()
bool needScaleTabAdjustment
static void motionCB(void *, SoDragger *)
virtual void setDefaultOnNonWritingFields()
Called by the SoBaseKit::write() method.
SbLineProjector * lineProj
SbPlaneProjector * planeProj
SoFieldSensor * scaleFieldSensor
static void fieldSensorCB(void *, SoSensor *)
static void finishCB(void *, SoDragger *)
static void metaKeyChangeCB(void *, SoDragger *)
static void valueChangedCB(void *, SoDragger *)
void getXYScreenLengths(SbVec2f &lengths, const SbMatrix &localToScreen, const SbVec2s &winSize)
static void startCB(void *, SoDragger *)
static void initClass()
initialize the class
void adjustScaleTabSize()
Cause the scale tab sizes to be re-adjusted so that they remain a near constant screen space size.
void reallyAdjustScaleTabSize(SoGLRenderAction *action)
SoFieldSensor * translFieldSensor
SoTabPlaneDragger()
Constructor.