SoTabBoxDragger(3IV)
SoTabBoxDragger (SoTabBoxDrag) - cubic object you can translate and scale by dragging with the mouse
Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.
NAME SoTabBoxDragger (SoTabBoxDrag) - cubic object you can translate and scale by dragging with the mouse INHERITS FROM SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoTabBoxDragger SYNOPSIS #include <Inventor_c/draggers/SoTabBoxDragger.h> typedef SoTabBoxDragger SoTabBoxDrag Fields from class SoTabBoxDragger: SoSFVec3f scaleFactor SoSFVec3f translation Fields from class SoDragger: SoSFBool isActive Fields from class SoInteractionKit: SoSFEnum renderCaching SoSFEnum boundingBoxCaching SoSFEnum renderCulling SoSFEnum pickCulling Parts from class SoBaseKit: (SoNodeKitListPart) callbackList Functions from class SoTabBoxDragger: SoTabBoxDragger * SoTabBoxDragCreate() void SoTabBoxDragAdjustScaleTabSize(SoTabBoxDrag *this) const SoNodekitCatalog * SoTabBoxDragGetClassNkitCat() SoType SoTabBoxDragGetClassTypeId() Functions from class SoDragger: void SoTabBoxDragAddStartCB(SoTabBoxDrag *this, SoDraggerCB *f, void *userData = NULL) void SoTabBoxDragRemoveStartCB(SoTabBoxDrag *this, SoDraggerCB *f, void *userData = NULL) void SoTabBoxDragAddMotionCB(SoTabBoxDrag *this, SoDraggerCB *f, void *userData = NULL) void SoTabBoxDragRemoveMotionCB(SoTabBoxDrag *this, SoDraggerCB *f, void *userData = NULL) void SoTabBoxDragAddFinishCB(SoTabBoxDrag *this, SoDraggerCB *f, void *userData = NULL) void SoTabBoxDragRemoveFinishCB(SoTabBoxDrag *this, SoDraggerCB *f, void *userData = NULL) void SoTabBoxDragAddValueChangedCB(SoTabBoxDrag *this, SoDraggerCB *f, void *userData = NULL) void SoTabBoxDragRemoveValueChangedCB(SoTabBoxDrag *this, SoDraggerCB *f, void *userData = NULL) SbBool SoTabBoxDragEnableValueChangedCBs(SoTabBoxDrag *this) void SoTabBoxDragSetMinGesture(SoTabBoxDrag *this, int pixels) int SoTabBoxDragGetMinGesture(const SoTabBoxDrag *this) void SoTabBoxDragSetMinScale(float newMinScale) float SoTabBoxDragGetMinScale() Functions from class SoInteractionKit: SbBool SoTabBoxDragSetPartAsPath(SoTabBoxDrag *this, const char *partName, SoPath *surrogatePath ) Functions from class SoBaseKit: const SoNodekitCatalog * SoTabBoxDragGetCat(const SoTabBoxDrag *this) SoNode * SoTabBoxDragGetPart(SoTabBoxDrag *this, const char *partName, SbBool makeIfNeeded) SbString SoTabBoxDragGetPartString(SoTabBoxDrag *this, const SoBase *part) SoNodeKitPath * SoTabBoxDragCreatePathToPart(SoTabBoxDrag *this, const char *partName, SbBool makeIfNeeded, const SoPath *pathToExtend = NULL) SbBool SoTabBoxDragSetPart(SoTabBoxDrag *this, const char *partName, SoNode *newPart) SbBool SoTabBoxDragSet(SoTabBoxDrag *this, char *partName, char *parameters) SbBool SoTabBoxDragSet2(SoTabBoxDrag *this, char *nameValuePairs) SbBool SoTabBoxDragIsSearchingChildren() void SoTabBoxDragSetSearchingChildren(SbBool newVal) Functions from class SoNode: void SoTabBoxDragSetOverride(SoTabBoxDrag *this, SbBool state) SbBool SoTabBoxDragIsOverride(const SoTabBoxDrag *this) SoNode * SoTabBoxDragCopy(const SoTabBoxDrag *this, SbBool copyConnections = FALSE) SbBool SoTabBoxDragAffectsState(const SoTabBoxDrag *this) SoNode * SoTabBoxDragGetByName(const char *name) int SoTabBoxDragGetByNameList(const char *name, SoNodeList *list) Functions from class SoFieldContainer: void SoTabBoxDragSetToDflts(SoTabBoxDrag *this) SbBool SoTabBoxDragHasDfltVals(const SoTabBoxDrag *this) SbBool SoTabBoxDragFldsAreEq(const SoTabBoxDrag *this, const SoFieldContainer *fc) void SoTabBoxDragCopyFieldVals(SoTabBoxDrag *this, const SoFieldContainer *fc, SbBool copyConnections = FALSE) void SoTabBoxDragGet(SoTabBoxDrag *this, SbString *fieldDataString) int SoTabBoxDragGetFields(const SoTabBoxDrag *this, SoFieldList *resultList) SoField * SoTabBoxDragGetField(const SoTabBoxDrag *this, const char *fieldName) SbBool SoTabBoxDragGetFieldName(const SoTabBoxDrag *this, const SoField *field, SbName *fieldName) SbBool SoTabBoxDragIsNotifyEnabled(const SoTabBoxDrag *this) SbBool SoTabBoxDragEnableNotify(SoTabBoxDrag *this, SbBool flag) Functions from class SoBase: void SoTabBoxDragRef(SoTabBoxDrag *this) void SoTabBoxDragUnref(const SoTabBoxDrag *this) void SoTabBoxDragUnrefNoDelete(const SoTabBoxDrag *this) void SoTabBoxDragTouch(SoTabBoxDrag *this) SoType SoTabBoxDragGetTypeId(const SoTabBoxDrag *this) SbBool SoTabBoxDragIsOfType(const SoTabBoxDrag *this, SoType type) void SoTabBoxDragSetName(SoTabBoxDrag *this, const char *name) SbName SoTabBoxDragGetName(const SoTabBoxDrag *this) DESCRIPTION SoTabBoxDragger is a composite dragger shaped like a box. Inside it are six SoTabPlaneDraggers which the dragger positions and orients to form a cube. The operations available in an SoTabPlaneDragger (translation, 1D scaling and 2D scaling) are available on each face of the cube. Since they each move in their local space, the dragger may be easily translated or scaled in any direction. As a composite dragger, this class makes sure that when one plane is dragged, the entire box moves together. As each sub-dragger is moved, the SoTabBoxDragger updates its scaleFactor and translation fields. As with all draggers, if you change a field 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: [a] Use an SoTabBoxManip, which is subclassed from SoTransform. It creates one of these draggers and uses it as the interface to change its fields. (see the SoTabBoxManip man page). [b] Use field-to-field connections to connect the fields of this dragger to those of any SoTransformation node. You can change the parts in any instance of this dragger using SoDraggerSetPart(). The default part geometries are defined as resources for this SoTabBoxDragger class. They are detailed below 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 /usr/share/data/draggerDefaults/tabBoxDragger.iv into your own directory, editing the file, and then setting the environment variable SO_DRAGGER_DIR to be a path to that directory. FIELDS SoSFVec3f scaleFactor Scale of the dragger. SoSFVec3f translation Position of the dragger. FUNCTIONS SoTabBoxDragger * SoTabBoxDragCreate() Constructor. void SoTabBoxDragAdjustScaleTabSize(SoTabBoxDrag *this) Cause the scale tab sizes to be re-adjusted on all 6 SoTabPlaneDraggers so that they remain a near constant screen space size. This happens automatically upon dragger finish. Call this to adjust the scale tab sizes at other times, for instance after the camera has changed in a viewer finish callback. const SoNodekitCatalog * SoTabBoxDragGetClassNkitCat() Returns an SoNodekitCatalog for this class SoType SoTabBoxDragGetClassTypeId() Returns type identifier for this class. CATALOG PARTS __________________________________________________________ All parts NULL by Part Name Part Type Default Type Default callbackList NodeKitListPart -- yes surroundScale SurroundScale -- yes tabPlane1 TabPlaneDragger -- yes tabPlane2 TabPlaneDragger -- yes tabPlane3 TabPlaneDragger -- yes tabPlane4 TabPlaneDragger -- yes tabPlane5 TabPlaneDragger -- yes tabPlane6 TabPlaneDragger -- yes boxGeom Separator -- yes __________________________________________________________ | | ________________________________________________________________ Extra information for list parts from above table Part Name Container Type Permissible Types Callback, EventCallback callbackList Separator ________________________________________________________________ | | DRAGGER RESOURCES Resource: tabBoxTranslator Parts: tabPlane1.translator tabPlane2.translator tabPlane3.translator tabPlane4.translator tabPlane5.translator tabPlane6.translator Appearance: Outline of a Square. The region within is pickable Description: Begins translation within the plane. The tabBox places and orients each tabPlane so that these squares form a box. Resource: tabBoxScaleTabMaterial Parts: tabPlane1.scaleTabMaterial tabPlane2.scaleTabMaterial tabPlane3.scaleTabMaterial tabPlane4.scaleTabMaterial tabPlane5.scaleTabMaterial tabPlane6.scaleTabMaterial Appearance: Green - half diffuse, half emissive. Description: Used as material for scaling tabs. Resource: tabBoxScaleTabHints Parts: tabPlane1.scaleTabHints tabPlane2.scaleTabHints tabPlane3.scaleTabHints tabPlane4.scaleTabHints tabPlane5.scaleTabHints tabPlane6.scaleTabHints Appearance: shapeHints node:COUNTERCLOCKWISE/SOLID/CONVEX Description: Property for the tab nodes. Resource: tabBoxBoxGeom Part: boxGeom Appearance: Unpickable grey outline of a box. Description: Just feedback.. FILE FORMAT/DEFAULTS TabBoxDragger { renderCaching AUTO boundingBoxCaching AUTO renderCulling AUTO pickCulling AUTO isActive FALSE translation 0 0 0 scaleFactor 1 1 1 callbackList NULL surroundScale NULL tabPlane1 TabPlaneDragger { } tabPlane2 TabPlaneDragger { } tabPlane3 TabPlaneDragger { } tabPlane4 TabPlaneDragger { } tabPlane5 TabPlaneDragger { } tabPlane6 TabPlaneDragger { } boxGeom <tabBoxBoxGeom resource> tabPlane1.translator <tabBoxTranslator resource> tabPlane2.translator <tabBoxTranslator resource> tabPlane3.translator <tabBoxTranslator resource> tabPlane4.translator <tabBoxTranslator resource> tabPlane5.translator <tabBoxTranslator resource> tabPlane6.translator <tabBoxTranslator resource> tabPlane1.scaleTabMaterial <tabBoxScaleTabMaterial resource> tabPlane2.scaleTabMaterial <tabBoxScaleTabMaterial resource> tabPlane3.scaleTabMaterial <tabBoxScaleTabMaterial resource> tabPlane4.scaleTabMaterial <tabBoxScaleTabMaterial resource> tabPlane5.scaleTabMaterial <tabBoxScaleTabMaterial resource> tabPlane6.scaleTabMaterial <tabBoxScaleTabMaterial resource> tabPlane1.scaleTabHints <tabBoxScaleTabHints resource> tabPlane2.scaleTabHints <tabBoxScaleTabHints resource> tabPlane3.scaleTabHints <tabBoxScaleTabHints resource> tabPlane4.scaleTabHints <tabBoxScaleTabHints resource> tabPlane5.scaleTabHints <tabBoxScaleTabHints resource> tabPlane6.scaleTabHints <tabBoxScaleTabHints resource> } SEE ALSO SoInteractionKit, SoDragger, SoCenterballDragger, SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger, SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScaleUniformDragger, SoSpotLightDragger, SoTabPlaneDragger, SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger, SoTranslate1Dragger, SoTranslate2Dragger