Box-like object you scale, rotate, and translate by dragging with the mouse. More...
#include <Inventor/draggers/SoTransformerDragger.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
Returns the type identifier for this specific instance. | |
virtual const SoNodekitCatalog * | getNodekitCatalog () const |
Returns the SoNodekitCatalog for this instance. | |
SoTransformerDragger () | |
Constructor. | |
void | unsquishKnobs () |
Tells the dragger to unsquish its rotation and scale knobs during the next traversal. | |
SbBool | isLocateHighlighting () |
Returns whether or not locate highlighting is used. | |
void | setLocateHighlighting (SbBool onOff) |
Sets whether or not locate highlighting is used. | |
Public Member Functions inherited from SoDragger | |
void | addStartCallback (SoDraggerCB *f, void *userData=NULL) |
Adds start callback. | |
void | removeStartCallback (SoDraggerCB *f, void *userData=NULL) |
Removes start callback. | |
void | addMotionCallback (SoDraggerCB *f, void *userData=NULL) |
Adds motion callback. | |
void | removeMotionCallback (SoDraggerCB *f, void *userData=NULL) |
Removes motion callback. | |
void | addFinishCallback (SoDraggerCB *f, void *userData=NULL) |
Adds finish callback. | |
void | removeFinishCallback (SoDraggerCB *f, void *userData=NULL) |
Removes finish callback. | |
void | addValueChangedCallback (SoDraggerCB *f, void *userData=NULL) |
Adds value-changed callback. | |
void | removeValueChangedCallback (SoDraggerCB *f, void *userData=NULL) |
Removes value-changed callback. | |
void | setMinGesture (int pixels) |
Sets the number of pixels of movement required to initiate a constraint gesture. | |
void | setMinGesture (float pixels) |
Float version of setMinGesture. | |
int | getMinGesture () const |
Gets the number of pixels of movement required to initiate a constraint gesture. | |
float | getMinGestureFloat () const |
Float version of getMinGesture. | |
SbBool | enableValueChangedCallbacks (SbBool newVal) |
You can temporarily disable a dragger's valueChangedCallbacks. | |
void | setTrackerDirectMode (TrackerDirectMode mode=DEFAULT) |
Sets the tracker direct mode for this dragger (see description above). | |
TrackerDirectMode | getTrackerDirectMode () const |
Get the current tracker direct mode for this dragger. | |
void | setMotionMatrix (const SbMatrix &newMatrix) |
Set the motion matrix. | |
const SbMatrix & | getMotionMatrix () |
Get the motion matrix. | |
Public Member Functions inherited from SoInteractionKit | |
virtual SbBool | setPartAsPath (const SbName &partName, SoPath *surrogatePath) |
Sets any public part in the interaction kit as a "surrogate" path instead. | |
virtual SbBool | affectsState () const |
Returns TRUE if a node has an effect on the state during traversal. | |
Public Member Functions inherited from SoBaseKit | |
SoBaseKit () | |
Constructor. | |
virtual SoNode * | getPart (const SbName &partName, SbBool makeIfNeeded) |
Searches the nodekit catalog (and those of all nested nodekits) for the part named partName. | |
template<typename PartType > | |
PartType * | getPart (const SbName &partName) |
Like getPart(const SbName&,SbBool) but casts the returned part to the specified type and sets the makeIfNeeded parameter to TRUE. | |
template<typename PartType > | |
PartType * | checkPart (const SbName &partName) |
Like getPart(const SbName&,SbBool) but casts the returned part to the specified type and sets the makeIfNeeded parameter to FALSE. | |
SbString | getPartString (const SoBase *part) |
Given a node or a path to a node, checks if the part exists in the nodekit, in a nested nodekit, or an element of a list part. | |
virtual SoNodeKitPath * | createPathToPart (const SbName &partName, SbBool makeIfNeeded, const SoPath *pathToExtend=NULL) |
Returns a path that begins at this nodekit and ends at partName. | |
virtual SbBool | setPart (const SbName &partName, SoNode *newPart) |
Inserts the given node (not a copy) as the new part specified by partName. | |
SoNONUNICODE SbBool | set (char *nameValuePairListString) |
This function allows field values of parts (nodes) to be set in several different parts simultaneously. | |
SbBool | set (const SbString &nameValuePairListString) |
This function allows field values of parts (nodes) to be set in several different parts simultaneously. | |
SoNONUNICODE SbBool | set (const char *partNameString, const char *parameterString) |
This function allows field values of parts (nodes) to be set. | |
SbBool | set (const SbString &partNameString, const SbString ¶meterString) |
This function allows field values of parts (nodes) to be set. | |
Public Member Functions inherited from SoNode | |
virtual void | setOverride (const SbBool state) |
Turns the override flag on or off. | |
virtual SbBool | isOverride () const |
Returns the state of the override flag. | |
virtual SoNode * | copy (SbBool copyConnections=FALSE) const |
Creates and returns an exact copy of the node. | |
virtual void | touch () |
Marks an instance as modified, simulating a change to it. | |
Public Member Functions inherited from SoFieldContainer | |
void | setToDefaults () |
Sets all fields in this object to their default values. | |
SbBool | hasDefaultValues () const |
Returns TRUE if all of the object's fields have their default values. | |
SbBool | fieldsAreEqual (const SoFieldContainer *fc) const |
Returns TRUE if this object's fields are exactly equal to fc's fields. | |
void | copyFieldValues (const SoFieldContainer *fc, SbBool copyConnections=FALSE) |
Copies the contents of fc's fields into this object's fields. | |
SoNONUNICODE SbBool | set (const char *fieldDataString) |
Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
SbBool | set (const SbString &fieldDataString) |
Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
void | get (SbString &fieldDataString) |
Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. | |
virtual int | getFields (SoFieldList &list) const |
Appends references to all of this object's fields to resultList, and returns the number of fields appended. | |
virtual int | getAllFields (SoFieldList &list) const |
Returns a list of fields, including the eventIn's and eventOut's. | |
virtual SoField * | getField (const SbName &fieldName) const |
Returns a the field of this object whose name is fieldName. | |
virtual SoField * | getEventIn (const SbName &fieldName) const |
Returns a the eventIn with the given name. | |
virtual SoField * | getEventOut (const SbName &fieldName) const |
Returns the eventOut with the given name. | |
SbBool | getFieldName (const SoField *field, SbName &fieldName) const |
Returns the name of the given field in the fieldName argument. | |
SbBool | enableNotify (SbBool flag) |
Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE). | |
SbBool | isNotifyEnabled () const |
Notification is the process of telling interested objects that this object has changed. | |
virtual void | setUserData (void *data) |
Sets application data. | |
void * | getUserData (void) const |
Gets user application data. | |
Public Member Functions inherited from SoBase | |
virtual SbName | getName () const |
Returns the name of an instance. | |
virtual void | setName (const SbName &name) |
Sets the name of an instance. | |
void | setSynchronizable (const bool b) |
Sets this to be a ScaleViz synchronizable object. | |
bool | isSynchronizable () const |
Gets the ScaleViz synchronizable state of this object. | |
Public Member Functions inherited from SoRefCounter | |
void | ref () const |
Adds a reference to an instance. | |
void | unref () const |
Removes a reference from an instance. | |
void | unrefNoDelete () const |
unrefNoDelete() should be called when it is desired to decrement the reference count, but not delete the instance if this brings the reference count to zero. | |
int | getRefCount () const |
Returns current reference count. | |
void | lock () const |
lock this instance. | |
void | unlock () const |
unlock this instance. | |
Public Member Functions inherited from SoTypedObject | |
SbBool | isOfType (const SoType &type) const |
Returns TRUE if this object is of the type specified in type or is derived from that type. | |
template<typename TypedObjectClass > | |
SbBool | isOfType () const |
Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class. | |
Public Member Functions inherited from SoGetView | |
SoGetView () | |
Default constructor. | |
virtual | ~SoGetView () |
virtual SbBool | getViewportIsEnabled () const |
Returns TRUE if SoGetView functionalities are enabled, FALSE otherwise. | |
virtual const SbVec2f | getViewportOrigin () const |
Returns SbViewportRegion origin. | |
virtual const SbVec2f | getViewportSize () const |
Returns SbViewportRegion size. | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
static const SoNodekitCatalog * | getClassNodekitCatalog () |
Returns the SoNodekitCatalog for this class. | |
static void | setColinearThreshold (int newVal) |
Sets the colinear threshold. | |
static int | getColinearThreshold () |
Returns the colinear threshold. | |
Static Public Member Functions inherited from SoDragger | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
static const SoNodekitCatalog * | getClassNodekitCatalog () |
Returns the SoNodekitCatalog for this class. | |
static void | setMinScale (float newMinScale) |
Sets the smallest scale that any dragger will write. | |
static float | getMinScale () |
Gets the smallest scale that any dragger will write. | |
static void | setInitialTrackerDirectMode (TrackerDirectMode mode=DEFAULT) |
Set the initial tracker direct mode for draggers not yet created. | |
static TrackerDirectMode | getInitialTrackerDirectMode () |
Get the initial tracker direct mode. | |
Static Public Member Functions inherited from SoInteractionKit | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
static const SoNodekitCatalog * | getClassNodekitCatalog () |
Returns the SoNodekitCatalog for this class. | |
Static Public Member Functions inherited from SoBaseKit | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
static const SoNodekitCatalog * | getClassNodekitCatalog () |
Returns the SoNodekitCatalog for the class SoBaseKit. | |
static void | setSearchingChildren (SbBool newVal) |
Sets if nodekit children are searched during SoSearchAction traversal. | |
static SbBool | isSearchingChildren () |
Returns TRUE if nodekit children are searched during SoSearchAction traversal. | |
Static Public Member Functions inherited from SoNode | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
static SoNode * | getByName (const SbName &name) |
A node's name can be set using SoBase::setName(). | |
static int | getByName (const SbName &name, SoNodeList &list) |
A node's name can be set using SoBase::setName(). | |
Static Public Member Functions inherited from SoFieldContainer | |
static SoType | getClassTypeId () |
Returns the type of this class. | |
Static Public Member Functions inherited from SoBase | |
static SoType | getClassTypeId () |
Returns type identifier for this class. | |
Static Public Member Functions inherited from SoTypedObject | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Public Attributes | |
SoSFRotation | rotation |
Orientation of the dragger. | |
SoSFVec3f | translation |
Position of the dragger. | |
SoSFVec3f | scaleFactor |
Scale of the dragger. | |
SoSFFloat | minDiscRotDot |
Specifies the minimum dot product between eyeDir and rotPlane normal before switching from record-player-type rotation to rolling-pin-type rotation. | |
Public Attributes inherited from SoDragger | |
SoSFBool | isActive |
TRUE when mouse is down and dragging, else FALSE. | |
SoSFBool | enableCallbacks |
If set to FALSE, motion, start and finish callbacks are disabled. | |
Public Attributes inherited from SoInteractionKit | |
SoSFEnum | boundingBoxCaching |
Set bounding box caching mode. | |
SoSFEnum | renderCulling |
Set render culling mode. | |
SoSFEnum | pickCulling |
Set pick caching mode. | |
SoDEPRECATED SoSFEnum | renderCaching |
Set render caching mode. | |
Public Attributes inherited from SoBaseKit | |
SoSFBool | boundingBoxIgnoring |
Whether to ignore this node during bounding box traversal. | |
Additional Inherited Members | |
Public Types inherited from SoDragger | |
enum | TrackerDirectMode { NONE , MOVE , ROTATE , FREE , DEFAULT } |
Tracker direct mode. More... | |
typedef void | SoDraggerCB(void *userData, SoDragger *dragger) |
Used in defining the callback function lists. | |
Public Types inherited from SoInteractionKit | |
enum | CacheEnabled { OFF , ON , AUTO } |
Possible values for caching. More... | |
Box-like object you scale, rotate, and translate by dragging with the mouse.
SoTransformerDragger is a dragger shaped like a box. It has small cubes at the corners and small balls sticking out of the middle of each face. Click and drag any face of the box for 2D translation in the plane of that face. Drag any corner-cube to scale the box uniformly. Pick any of the mid-face balls to rotate the whole dragger about its center.
The SoTransformerDragger uses locate highlighting, so you can tell which part you are about to select before pressing the mouse button. By default, the locate highlight color is gold.
NOTE: Locate highlighting (mouse-over feedback) is disabled by default and the setLocateHighlighting() method has no effect. To enable locate highlighting, use SoPreferences to set the environment variable IV_ALLOW_LOCATE_HIGHLIGHT to true.
Click-drag any face to translate the dragger within the plane of that face. The face you selected will highlight in yellow. While you drag, yellow feedback arrows display the two directions of motion. Press the <Shift> key and the arrows turn orange; you may now pick between these two directions to constrain the motion. The direction you move the cursor in will determine which direction is chosen. Press the <Control> key and the dragger will translate perpendicular to that plane. The translation field is modified as the face is dragged.
Click a corner to scale the dragger. The corner you selected will turn yellow and radial lines will indicate that you may move toward and away from the center of the box. Drag radially and you will perform uniform scale. Press the <Control> key to scale about the opposite corner instead of the center of the box.
The Control key behavior may be disabled by setting the environment variable OIV_DISABLE_DRAGGER_CTRL_KEY to false (see SoPreferences).
To stretch the dragger non-uniformly, press <Shift> when you drag the corner cube. Now you will see three orange arrows indicating that your gesture will determine which direction to choose. Move the cursor and the selected arrow will turn yellow while the others disappear. Now the dragger will stretch only in the direction you selected. Pressing <Control> at the same time as <Shift> allows you to stretch the dragger while keeping the opposite side pinned in place. When you drag a corner, this modifies the scaleFactor and possibly the translation field of the dragger.
Click one of the spherical knobs to rotate the dragger. When you first click, you'll see two orange lines and two purple circles. The purple circles indicate the two ways you can rotate. The orange lines are, once again, the two choices for your mouse gesture. Each line begins you moving around one of the two circles. Once you move the cursor far enough, the selected line turns yellow and you begin rotating the dragger about the selected circle. The other circle and line will disappear.
To perform unconstrained ("free") rotation, just press <Shift> while you drag the spherical knob. There will be no choices; instead all three purple circles will be displayed, forming a ball that you can roll around. Regardless of how you rotate, dragging the spherical knobs will modify the rotation field of the dragger. Depending on how it is centered and what transforms precede it in the scene graph, rotation is likely to affect the translation and scaleFactor fields as well.
Pressing the <Control> key will change the center of rotation in both the constrained and unconstrained (<Shift>) case. By default, rotation occurs about the center of the bounding box. With <Control> depressed, rotation occurs about the middle of the opposite side of the bounding box. The purple feedback will change to illustrate this; the feedback circles increase in size and purple crosshairs sprout at the new rotational center.
Ordinarily, the knobs of the dragger are unsquished upon readin from file and when the mouse button is released at the end of a drag. If you want this to happen more often, then you should call the method unsquishKnobs().
As with all draggers, if you change the fields the dragger will move to match the new settings.
Remember: This is not an SoTransform ! . If you want to move other objects with this dragger, you can either:
You can change the parts in any instance of this dragger using setPart(). The default part geometries are defined as resources for this SoTransformerDragger class. They are detailed in the Dragger Resources section of the online reference page for this class. You can make your program use different default resources for the parts by copying the file $OIVHOME/data/draggerDefaults/transformerDragger.iv into your own directory, editing the file, and then setting the environment variable SO_DRAGGER_DIR to be a path to that directory.
This dragger has both a default and a WYSIWYG version:
Default Dragger | WYSIWYG Dragger |
| |
See SoDragger for more information about using and customizing draggers, including code examples, using draggers in an immersive VR environment and using WYSIWYG draggers.
boundingBoxCaching | AUTO |
renderCulling | AUTO |
pickCulling | AUTO |
isActive | FALSE |
translation | 0 0 0 |
scaleFactor | 1 1 1 |
rotation | 0 0 1 0 |
minDiscRotDot | 0.025 |
callbackList | NULL |
surroundScale | NULL |
translator1 | <transformerTranslator1 resource> |
translator1Active | <transformerTranslator1Active resource> |
translator2 | <transformerTranslator2 resource> |
translator2Active | <transformerTranslator2Active resource> |
translator3 | <transformerTranslator3 resource> |
translator3Active | <transformerTranslator3Active resource> |
translator4 | <transformerTranslator4 resource> |
translator4Active | <transformerTranslator4Active resource> |
translator5 | <transformerTranslator5 resource> |
translator5Active | <transformerTranslator5Active resource> |
translator6 | <transformerTranslator6 resource> |
translator6Active | <transformerTranslator6Active resource> |
rotator1 | <transformerRotator1 resource> |
rotator1Active | <transformerRotator1Active resource> |
rotator2 | <transformerRotator2 resource> |
rotator2Active | <transformerRotator2Active resource> |
rotator3 | <transformerRotator3 resource> |
rotator3Active | <transformerRotator3Active resource> |
rotator4 | <transformerRotator4 resource> |
rotator4Active | <transformerRotator4Active resource> |
rotator5 | <transformerRotator5 resource> |
rotator5Active | <transformerRotator5Active resource> |
rotator6 | <transformerRotator6 resource> |
rotator6Active | <transformerRotator6Active resource> |
scale1 | <transformerScale1 resource> |
scale1Active | <transformerScale1Active resource> |
scale2 | <transformerScale2 resource> |
scale2Active | <transformerScale2Active resource> |
scale3 | <transformerScale3 resource> |
scale3Active | <transformerScale3Active resource> |
scale4 | <transformerScale4 resource> |
scale4Active | <transformerScale4Active resource> |
scale5 | <transformerScale5 resource> |
scale5Active | <transformerScale5Active resource> |
scale6 | <transformerScale6 resource> |
scale6Active | <transformerScale6Active resource> |
scale7 | <transformerScale7 resource> |
scale7Active | <transformerScale7Active resource> |
scale8 | <transformerScale8 resource> |
scale8Active | <transformerScale8Active resource> |
xAxisFeedbackActive | <transformerXAxisFeedbackActive resource> |
xAxisFeedbackSelect | <transformerXAxisFeedbackSelect resource> |
xCrosshairFeedback | <transformerXCrosshairFeedback resource> |
yAxisFeedbackActive | <transformerYAxisFeedbackActive resource> |
yAxisFeedbackSelect | <transformerYAxisFeedbackSelect resource> |
yCrosshairFeedback | <transformerYCrosshairFeedback resource> |
zAxisFeedbackActive | <transformerZAxisFeedbackActive resource> |
zAxisFeedbackSelect | <transformerZAxisFeedbackSelect resource> |
zCrosshairFeedback | <transformerZCrosshairFeedback resource> |
translateBoxFeedback | <transformerTranslateBoxFeedback resource> |
scaleBoxFeedback | <transformerScaleBoxFeedback resource> |
posXWallFeedback | <transformerPosXWallFeedback resource> |
posXRoundWallFeedback | <transformerPosXRoundWallFeedback resource> |
posYWallFeedback | <transformerPosYWallFeedback resource> |
posYRoundWallFeedback | <transformerPosYRoundWallFeedback resource> |
posZWallFeedback | <transformerPosZWallFeedback resource> |
posZRoundWallFeedback | <transformerPosZRoundWallFeedback resource> |
negXWallFeedback | <transformerNegXWallFeedback resource> |
negXRoundWallFeedback | <transformerNegXRoundWallFeedback resource> |
negYWallFeedback | <transformerNegYWallFeedback resource> |
negYRoundWallFeedback | <transformerNegYRoundWallFeedback resource> |
negZWallFeedback | <transformerNegZWallFeedback resource> |
negZRoundWallFeedback | <transformerNegZRoundWallFeedback resource> |
radialFeedback | <transformerRadialFeedback resource> |
xCircleFeedback | <transformerXCircleFeedback resource> |
yCircleFeedback | <transformerYCircleFeedback resource> |
zCircleFeedback | <transformerZCircleFeedback resource> |
none | <transformerLocateMaterial resource> |
Resource: | transformerLocateMaterial |
Part: | none |
Appearance: | Gold diffuse and emissive color |
Description: | Locate highlight color used for all parts.
|
Resource: | transformerOverallStyle |
Part: | overallStyle |
Appearance: | White Low-Complexity lines |
Description: | If nothing else specified, this is style of the part.
|
Resource: | transformerTranslator1 |
Part: | translator1 |
Appearance: | White Line-Style Square |
Description: | Top face of transformer. Picking this initiates translation in x-z plane.
|
Resource: | transformerTranslator2 |
Part: | translator2 |
Appearance: | White Line-Style Square |
Description: | Bottom face of transformer. Picking this initiates translation in x-z plane.
|
Resource: | transformerTranslator3 |
Part: | translator3 |
Appearance: | White Line-Style Square |
Description: | Left face of transformer. Picking this initiates translation in y-z plane.
|
Resource: | transformerTranslator4 |
Part: | translator4 |
Appearance: | White Line-Style Square |
Description: | Right face of transformer. Picking this initiates translation in y-z plane.
|
Resource: | transformerTranslator5 |
Part: | translator5 |
Appearance: | White Line-Style Square |
Description: | Front face of transformer. Picking this initiates translation in x-y plane.
|
Resource: | transformerTranslator6 |
Part: | translator6 |
Appearance: | White Line-Style Square |
Description: | Back face of transformer. Picking this initiates translation in x-y plane.
|
Resource: | transformerTranslator1Active |
Part: | translator1Active |
Appearance: | Yellow version of transformerTranslator1 |
Description: | Replaces transformerTranslator1 during dragging.
|
Resource: | transformerTranslator2Active |
Part: | translator2Active |
Appearance: | Yellow version of transformerTranslator2 |
Description: | Replaces transformerTranslator2 during dragging.
|
Resource: | transformerTranslator3Active |
Part: | translator3Active |
Appearance: | Yellow version of transformerTranslator3 |
Description: | Replaces transformerTranslator3 during dragging.
|
Resource: | transformerTranslator4Active |
Part: | translator4Active |
Appearance: | Yellow version of transformerTranslator4 |
Description: | Replaces transformerTranslator4 during dragging.
|
Resource: | transformerTranslator5Active |
Part: | translator5Active |
Appearance: | Yellow version of transformerTranslator5 |
Description: | Replaces transformerTranslator5 during dragging.
|
Resource: | transformerTranslator6Active |
Part: | translator6Active |
Appearance: | Yellow version of transformerTranslator6 |
Description: | Replaces transformerTranslator6 during dragging.
|
Resource: | transformerRotator1 |
Part: | rotator1 |
Appearance: | Green Sphere at end of a stick |
Description: | Top knob of transformer. Picking this initiates rotation.
|
Resource: | transformerRotator2 |
Part: | rotator2 |
Appearance: | Green Sphere at end of a stick |
Description: | Bottom knob of transformer. Picking this initiates rotation.
|
Resource: | transformerRotator3 |
Part: | rotator3 |
Appearance: | Green Sphere at end of a stick |
Description: | Left knob of transformer. Picking this initiates rotation.
|
Resource: | transformerRotator4 |
Part: | rotator4 |
Appearance: | Green Sphere at end of a stick |
Description: | Right knob of transformer. Picking this initiates rotation.
|
Resource: | transformerRotator5 |
Part: | rotator5 |
Appearance: | Green Sphere at end of a stick |
Description: | Front knob of transformer. Picking this initiates rotation.
|
Resource: | transformerRotator6 |
Part: | rotator6 |
Appearance: | Green Sphere at end of a stick |
Description: | Back knob of transformer. Picking this initiates rotation.
|
Resource: | transformerRotator1Active |
Part: | rotator1Active |
Appearance: | Yellow version of transformerRotator1 |
Description: | Replaces transformerRotator1 during dragging.
|
Resource: | transformerRotator2Active |
Part: | rotator2Active |
Appearance: | Yellow version of transformerRotator2 |
Description: | Replaces transformerRotator2 during dragging.
|
Resource: | transformerRotator3Active |
Part: | rotator3Active |
Appearance: | Yellow version of transformerRotator3 |
Description: | Replaces transformerRotator3 during dragging.
|
Resource: | transformerRotator4Active |
Part: | rotator4Active |
Appearance: | Yellow version of transformerRotator4 |
Description: | Replaces transformerRotator4 during dragging.
|
Resource: | transformerRotator5Active |
Part: | rotator5Active |
Appearance: | Yellow version of transformerRotator5 |
Description: | Replaces transformerRotator5 during dragging.
|
Resource: | transformerRotator6Active |
Part: | rotator6Active |
Appearance: | Yellow version of transformerRotator6 |
Description: | Replaces transformerRotator6 during dragging.
|
Resource: | transformerScale1 |
Part: | scale1 |
Appearance: | Small white cube in (+x+y+z) corner of transformer |
Description: | Picking this initiates scaling.
|
Resource: | transformerScale2 |
Part: | scale2 |
Appearance: | Small white cube in (+x+y-z) corner of transformer |
Description: | Picking this initiates scaling.
|
Resource: | transformerScale3 |
Part: | scale3 |
Appearance: | Small white cube in (+x-y+z) corner of transformer |
Description: | Picking this initiates scaling.
|
Resource: | transformerScale4 |
Part: | scale4 |
Appearance: | Small white cube in (+x-y-z) corner of transformer |
Description: | Picking this initiates scaling.
|
Resource: | transformerScale5 |
Part: | scale5 |
Appearance: | Small white cube in (-x+y+z) corner of transformer |
Description: | Picking this initiates scaling.
|
Resource: | transformerScale6 |
Part: | scale6 |
Appearance: | Small white cube in (-x+y-z) corner of transformer |
Description: | Picking this initiates scaling.
|
Resource: | transformerScale7 |
Part: | scale7 |
Appearance: | Small white cube in (-x-y+z) corner of transformer |
Description: | Picking this initiates scaling.
|
Resource: | transformerScale8 |
Part: | scale8 |
Appearance: | Small white cube in (-x-y-z) corner of transformer |
Description: | Picking this initiates scaling.
|
Resource: | transformerScale1Active |
Part: | scale1Active |
Appearance: | Yellow version of transformerScale1Active |
Description: | Replaces transformerScale1Active during dragging.
|
Resource: | transformerScale2Active |
Part: | scale2Active |
Appearance: | Yellow version of transformerScale2Active |
Description: | Replaces transformerScale2Active during dragging.
|
Resource: | transformerScale3Active |
Part: | scale3Active |
Appearance: | Yellow version of transformerScale3Active |
Description: | Replaces transformerScale3Active during dragging.
|
Resource: | transformerScale4Active |
Part: | scale4Active |
Appearance: | Yellow version of transformerScale4Active |
Description: | Replaces transformerScale4Active during dragging.
|
Resource: | transformerScale5Active |
Part: | scale5Active |
Appearance: | Yellow version of transformerScale5Active |
Description: | Replaces transformerScale5Active during dragging.
|
Resource: | transformerScale6Active |
Part: | scale6Active |
Appearance: | Yellow version of transformerScale6Active |
Description: | Replaces transformerScale6Active during dragging.
|
Resource: | transformerScale7Active |
Part: | scale7Active |
Appearance: | Yellow version of transformerScale7Active |
Description: | Replaces transformerScale7Active during dragging.
|
Resource: | transformerScale8Active |
Part: | scale8Active |
Appearance: | Yellow version of transformerScale8Active |
Description: | Replaces transformerScale8Active during dragging.
|
Resource: | transformerXAxisFeedbackActive |
Part: | xAxisFeedbackActive |
Appearance: | Yellow arrow along X axis |
Description: | Displayed when translating if X direction is permitted.
|
Resource: | transformerXAxisFeedbackSelect |
Part: | xAxisFeedbackSelect |
Appearance: | Orange arrow along X axis |
Description: | Displayed when awaiting gesture to pick between X axis and another direction(s).
|
Resource: | transformerYAxisFeedbackActive |
Part: | yAxisFeedbackActive |
Appearance: | Yellow arrow along Y axis |
Description: | Displayed when translating if Y direction is permitted.
|
Resource: | transformerYAxisFeedbackSelect |
Part: | yAxisFeedbackSelect |
Appearance: | Orange arrow along Y axis |
Description: | Displayed when awaiting gesture to pick between Y axis and another direction(s).
|
Resource: | transformerZAxisFeedbackActive |
Part: | zAxisFeedbackActive |
Appearance: | Yellow arrow along Z axis |
Description: | Displayed when translating if Z direction is permitted.
|
Resource: | transformerZAxisFeedbackSelect |
Part: | zAxisFeedbackSelect |
Appearance: | Orange arrow along Z axis |
Description: | Displayed when awaiting gesture to pick between Z axis and another direction(s).
|
Resource: | transformerXCrosshairFeedback |
Part: | xCrosshairFeedback |
Appearance: | Yellow crossHair in y-z plane |
Description: | Displayed when translating perpendicular to y-z plane.
|
Resource: | transformerYCrosshairFeedback |
Part: | yCrosshairFeedback |
Appearance: | Yellow crossHair in x-z plane |
Description: | Displayed when translating perpendicular to x-z plane.
|
Resource: | transformerZCrosshairFeedback |
Part: | zCrosshairFeedback |
Appearance: | Yellow crossHair in x-y plane |
Description: | Displayed when translating perpendicular to x-y plane.
|
Resource: | transformerXCircleFeedback |
Part: | xCircleFeedback |
Appearance: | Purple Unit Circle about X axis |
Description: | Displayed when rotating about X axis
|
Resource: | transformerYCircleFeedback |
Part: | yCircleFeedback |
Appearance: | Purple Unit Circle about Y axis |
Description: | Displayed when rotating about Y axis
|
Resource: | transformerZCircleFeedback |
Part: | zCircleFeedback |
Appearance: | Purple Unit Circle about Z axis |
Description: | Displayed when rotating about Z axis
|
Resource: | transformerRadialFeedback |
Part: | radialFeedback |
Appearance: | Purple Rays emanating from center through corners |
Description: | Displayed when scaling uniformly about center.
|
Resource: | transformerTranslateBoxFeedback |
Part: | translateBoxFeedback |
Appearance: | Purple Box with one bright yellow side |
Description: | Displayed when translating. Automatically oriented so yellow side matches selected face.
|
Resource: | transformerPosXWallFeedback |
Part: | posXWallFeedback |
Appearance: | Purple Plane along Right side of transformer |
Description: | Displayed when <Control> scaling and keeping right side fixed.
|
Resource: | transformerPosYWallFeedback |
Part: | posYWallFeedback |
Appearance: | Purple Plane along Top side of transformer |
Description: | Displayed when <Control> scaling and keeping top side fixed.
|
Resource: | transformerPosZWallFeedback |
Part: | posZWallFeedback |
Appearance: | Purple Plane along Front side of transformer |
Description: | Displayed when <Control> scaling and keeping front side fixed.
|
Resource: | transformerNegXWallFeedback |
Part: | negXWallFeedback |
Appearance: | Purple Plane along Left side of transformer |
Description: | Displayed when <Control> scaling and keeping left side fixed.
|
Resource: | transformerNegYWallFeedback |
Part: | negYWallFeedback |
Appearance: | Purple Plane along Bottom side of transformer |
Description: | Displayed when <Control> scaling and keeping bottom side fixed.
|
Resource: | transformerNegZWallFeedback |
Part: | negZWallFeedback |
Appearance: | Purple Plane along Back side of transformer |
Description: | Displayed when <Control> scaling and keeping back side fixed.
|
Part Name | Part Type | Default Type | NULL Default |
callbackList | NodeKitListPart | – | yes |
surroundScale | SurroundScale | – | yes |
translator1 | Separator | – | yes |
translator1Active | Separator | – | yes |
translator2 | Separator | – | yes |
translator2Active | Separator | – | yes |
translator3 | Separator | – | yes |
translator3Active | Separator | – | yes |
translator4 | Separator | – | yes |
translator4Active | Separator | – | yes |
translator5 | Separator | – | yes |
translator5Active | Separator | – | yes |
translator6 | Separator | – | yes |
translator6Active | Separator | – | yes |
rotator1 | Separator | – | yes |
rotator1Active | Separator | – | yes |
rotator2 | Separator | – | yes |
rotator2Active | Separator | – | yes |
rotator3 | Separator | – | yes |
rotator3Active | Separator | – | yes |
rotator4 | Separator | – | yes |
rotator4Active | Separator | – | yes |
rotator5 | Separator | – | yes |
rotator5Active | Separator | – | yes |
rotator6 | Separator | – | yes |
rotator6Active | Separator | – | yes |
scale1 | Separator | – | yes |
scale1Active | Separator | – | yes |
scale2 | Separator | – | yes |
scale2Active | Separator | – | yes |
scale3 | Separator | – | yes |
scale3Active | Separator | – | yes |
scale4 | Separator | – | yes |
scale4Active | Separator | – | yes |
scale5 | Separator | – | yes |
scale5Active | Separator | – | yes |
scale6 | Separator | – | yes |
scale6Active | Separator | – | yes |
scale7 | Separator | – | yes |
scale7Active | Separator | – | yes |
scale8 | Separator | – | yes |
scale8Active | Separator | – | yes |
xAxisFeedbackActive | Separator | – | yes |
xAxisFeedbackSelect | Separator | – | yes |
xCrosshairFeedback | Separator | – | yes |
yAxisFeedbackActive | Separator | – | yes |
yAxisFeedbackSelect | Separator | – | yes |
yCrosshairFeedback | Separator | – | yes |
zAxisFeedbackActive | Separator | – | yes |
zAxisFeedbackSelect | Separator | – | yes |
zCrosshairFeedback | Separator | – | yes |
translateBoxFeedback | Separator | – | yes |
scaleBoxFeedback | Separator | – | yes |
posXWallFeedback | Separator | – | yes |
posXRoundWallFeedback | Separator | – | yes |
posYWallFeedback | Separator | – | yes |
posYRoundWallFeedback | Separator | – | yes |
posZWallFeedback | Separator | – | yes |
posZRoundWallFeedback | Separator | – | yes |
negXWallFeedback | Separator | – | yes |
negXRoundWallFeedback | Separator | – | yes |
negYWallFeedback | Separator | – | yes |
negYRoundWallFeedback | Separator | – | yes |
negZWallFeedback | Separator | – | yes |
negZRoundWallFeedback | Separator | – | yes |
radialFeedback | Separator | – | yes |
xCircleFeedback | Separator | – | yes |
yCircleFeedback | Separator | – | yes |
zCircleFeedback | Separator | – | yes |
Extra Information for List Parts from Above Table
Part Name | Container Type | Possible Types |
callbackList | Separator | Callback, EventCallback |
SoDragger, SoInteractionKit, SoLocateHighlight, SoCenterballDragger, SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger, SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScaleUniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger, SoTrackballDragger, SoTransformBoxDragger, SoTranslate1Dragger, SoTranslate2Dragger
Definition at line 688 of file SoTransformerDragger.h.
SoTransformerDragger::SoTransformerDragger | ( | ) |
Constructor.
|
static |
Returns the SoNodekitCatalog for this class.
|
static |
Returns the type identifier for this class.
|
static |
Returns the colinear threshold.
This parameter determines the number of pixels that must separate two axes before they are regarded as distinct.
|
virtual |
Returns the SoNodekitCatalog for this instance.
Reimplemented from SoDragger.
|
virtual |
Returns the type identifier for this specific instance.
Reimplemented from SoDragger.
|
inline |
Returns whether or not locate highlighting is used.
Definition at line 882 of file SoTransformerDragger.h.
|
static |
Sets the colinear threshold.
When picking a direction for constraining based on gesture, this parameter determines how many pixels must separate two axes before they are regarded as distinct. If they are deemed "the same" then the shorter of the two will be discarded. Default is 4.
void SoTransformerDragger::setLocateHighlighting | ( | SbBool | onOff | ) |
Sets whether or not locate highlighting is used.
Default is TRUE.
Note that this method has no effect unless unless locate highlighting is globally enabled by setting the environment variable IV_ALLOW_LOCATE_HIGHLIGHT to true (see SoPreferences).
void SoTransformerDragger::unsquishKnobs | ( | ) |
Tells the dragger to unsquish its rotation and scale knobs during the next traversal.
Ordinarily, the knobs are only unsquished upon readin from file and when the mouse button is released at the end of a drag. If you want this to happen more often, then you should call this method.
SoSFFloat SoTransformerDragger::minDiscRotDot |
Specifies the minimum dot product between eyeDir and rotPlane normal before switching from record-player-type rotation to rolling-pin-type rotation.
This transition is made so that rotations don't get screwy when the circle is edge-on. Lies in range [0-1]. Best to leave this alone.
Definition at line 869 of file SoTransformerDragger.h.
SoSFRotation SoTransformerDragger::rotation |
Orientation of the dragger.
Definition at line 851 of file SoTransformerDragger.h.
SoSFVec3f SoTransformerDragger::scaleFactor |
Scale of the dragger.
Definition at line 861 of file SoTransformerDragger.h.
SoSFVec3f SoTransformerDragger::translation |
Position of the dragger.
Definition at line 856 of file SoTransformerDragger.h.