912 SbVec3f getWorldPointInBoxSpace(
const SbVec3f &pointInWorldSpace );
920 SbVec3f getInteractiveCenterInBoxSpace()
921 {
return interactiveCenterInBoxSpace; }
924 static void initClass();
925 static void exitClass();
929 RIT_X_ROTATE, TOP_Y_ROTATE, FNT_Z_ROTATE,
930 LFT_X_ROTATE, BOT_Y_ROTATE, BAK_Z_ROTATE,
932 PX_PY_PZ_3D_SCALE, PX_PY_NZ_3D_SCALE, PX_NY_PZ_3D_SCALE,
933 PX_NY_NZ_3D_SCALE, NX_PY_PZ_3D_SCALE, NX_PY_NZ_3D_SCALE,
934 NX_NY_PZ_3D_SCALE, NX_NY_NZ_3D_SCALE,
936 RIT_TRANSLATE, TOP_TRANSLATE, FNT_TRANSLATE,
937 LFT_TRANSLATE, BOT_TRANSLATE, BAK_TRANSLATE };
939 State getCurrentState() {
return currentState; }
944 static void startCB(
void *,
SoDragger * );
945 static void motionCB(
void *,
SoDragger * );
946 static void finishCB(
void *,
SoDragger * );
951 static void fieldSensorCB(
void *,
SoSensor * );
952 static void valueChangedCB(
void *,
SoDragger * );
955 static void metaKeyChangeCB(
void *,
SoDragger *);
964 void setAllPartSwitches(
int scaleAssemblyWhich,
965 int rotateAssemblyWhich,
966 int translateAssemblyWhich );
976 virtual void setDefaultOnNonWritingFields();
981 void updateAntiSquishList();
985 int getMouseGestureDirection(
SbBool xAllowed,
SbBool yAllowed,
988 static int getIgnoreAxis(
SbVec2f axis[3][2],
SbBool xAllowed,
991 static void makeMinorAxisPerpendicularIfColinear(
SbVec2f origin,
992 SbVec2f axisEnds[3][2],
int indexA,
int indexB );
1016 SbVec3f interactiveCenterInBoxSpace;
1021 SbVec2f startNormalizedLocaterPosition;
1023 SbBool altDown, ctlDown, shftDown;
1028 void setHighlights();
1030 void setFeedbackForTranslate();
1031 void setFeedbackForScale();
1032 void setFeedbackForRotate();
1034 State getStateFromPick();
1043 SbBool rotateConstrainedDrag();
1044 SbBool rotateConstrainedDiscDrag();
1045 SbBool rotateConstrainedCylindricalDrag();
1047 void initSphereProjector();
1048 void initDiscProjector();
1049 void initCylinderProjector();
1051 SbBool getShouldRotateAsDisc();
1052 int getConstrainedRotationAxis();
1055 static const char geomBuffer[];
1057 void setAllDefaultParts();
1059 SbBool locateHighlightOn;
1061 static int colinearThreshold;
1067 void makeTranslaterCatalogParts();
1068 void makeRotaterCatalogParts();
1069 void makeScalerCatalogParts();
1070 void makeAxisFeedbackCatalogParts();
1071 void makeBoxFeedbackCatalogParts();
1072 void makeWallFeedbackCatalogParts();
1073 void makeRadialFeedbackCatalogParts();
1074 void makeCircleFeedbackCatalogParts();