98#ifndef _SO_HANDLEBOX_DRAGGER_
99#define _SO_HANDLEBOX_DRAGGER_
340 { POSX, POSY, POSZ, NEGX, NEGY, NEGZ };
341 void highlightAxisForScale( WhichAxis axis );
346 RIT_X_SCALE, TOP_Y_SCALE, FNT_Z_SCALE,
347 LFT_X_SCALE, BOT_Y_SCALE, BAK_Z_SCALE,
349 PX_PY_PZ_3D_SCALE, PX_PY_NZ_3D_SCALE, PX_NY_PZ_3D_SCALE,
350 PX_NY_NZ_3D_SCALE, NX_PY_PZ_3D_SCALE, NX_PY_NZ_3D_SCALE,
351 NX_NY_PZ_3D_SCALE, NX_NY_NZ_3D_SCALE,
353 RIT_TRANSLATE, TOP_TRANSLATE, FNT_TRANSLATE,
354 LFT_TRANSLATE, BOT_TRANSLATE, BAK_TRANSLATE };
361 SbPlaneProjector *motionPlaneProj;
362 SbLineProjector *motionLineProj;
365 SbVec3f worldRestartPt;
367 bool altDown, ctlDown, shftDown;
371 void setHighlights();
372 void setFeedbackArrows();
374 bool translateInit();
375 bool faceScaleInit();
376 bool uniformScaleInit();
377 bool scaleGeomSizeOnlyInit();
379 bool translateDrag();
381 bool scaleGeomSizeOnlyDrag();
384 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)
This is a dictionary mapping (size_t) integer keys to (void *) data pointers.
Node that defines the style to use when rendering.
Sensor class that can be attached to Inventor fields.
virtual bool setUpConnections(bool onOff, bool doItAlways=FALSE)
detach/attach any sensors, callbacks, and/or field connections.
SoFieldSensor * translFieldSensor
static void initClass()
initialize the class
SoHandleBoxDragger()
Constructor.
static void valueChangedCB(void *, SoDragger *)
static void startCB(void *, SoDragger *)
Callbacks for drag start, motion, and finish.
SoFieldSensor * scaleFieldSensor
static void fieldSensorCB(void *, SoSensor *)
virtual ~SoHandleBoxDragger()
static void motionCB(void *, SoDragger *)
static void finishCB(void *, SoDragger *)
void dragStart()
These really do the work during startCB, motionCB, and finishCB.
static void metaKeyChangeCB(void *, SoDragger *)
Callbacks for pressing and releasing the meta keys.
virtual void setDefaultOnNonWritingFields()
Called by the SoBaseKit::write() method.
void setAllPartsActive(bool onOrOff)
Field containing a three-dimensional vector.
Abstract base class for Inventor sensors.