Scroll to navigation

SoTransformerManip(3IV)() SoTransformerManip(3IV)()

NAME

SoTransformerManip — transform node with 3D interface for changing scaling, rotation, and translation

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform > SoTransformManip > SoTransformerManip

SYNOPSIS

#include <Inventor/manips/SoTransformerManip.h>


Fields from class SoTransform:


SoSFVec3f translation

SoSFRotation rotation

SoSFVec3f scaleFactor

SoSFRotation scaleOrientation

SoSFVec3f center


Methods from class SoTransformerManip:


SoTransformerManip()

static SoType getClassTypeId()

void setLocateHighlighting(SbBool onOff )

SbBool isLocateHighlighting()

void unsquishKnobs()


Methods from class SoTransformManip:


SoDragger * getDragger()

SbBool replaceNode(SoPath *p )

SbBool replaceManip(SoPath *p, SoTransform *newOne ) const


Methods from class SoTransform:


void pointAt(const SbVec3f &fromPoint, const SbVec3f &toPoint)

void getScaleSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const

void getRotationSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const

void getTranslationSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const

void multLeft(const SbMatrix &mat)

void multRight(const SbMatrix &mat)

void combineLeft(SoTransformation *nodeOnRight)

void combineRight(SoTransformation *nodeOnLeft)

void setMatrix(const SbMatrix &mat)

void recenter(const SbVec3f &newCenter)


Methods from class SoNode:


void setOverride(SbBool state)

SbBool isOverride() const

SoNode * copy(SbBool copyConnections = FALSE) const

virtual SbBool affectsState() const

static SoNode * getByName(const SbName &name)

static int getByName(const SbName &name, SoNodeList &list)


Methods from class SoFieldContainer:


void setToDefaults()

SbBool hasDefaultValues() const

SbBool fieldsAreEqual(const SoFieldContainer *fc) const

void copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)

SbBool set(const char *fieldDataString)

void get(SbString &fieldDataString)

virtual int getFields(SoFieldList &resultList) const

virtual SoField * getField(const SbName &fieldName) const

SbBool getFieldName(const SoField *field, SbName &fieldName) const

SbBool isNotifyEnabled() const

SbBool enableNotify(SbBool flag)


Methods from class SoBase:


void ref()

void unref() const

void unrefNoDelete() const

void touch()

virtual SoType getTypeId() const

SbBool isOfType(SoType type) const

virtual void setName(const SbName &name)

virtual SbName getName() const

DESCRIPTION

This is a new manipulator with some improvements over the older inventor manips. It has the following features: [1] full interface for rotate, translate, and scale, [2] better feedback, [3] locate highlighting.

SoTransformerManip is derived from SoTransform (by way of SoTransformManip). When its fields change, nodes following it in the scene graph rotate, scale, and/or translate.

As a subclass of SoTransformManip, this manipulator also has a 3D interface to edit some of its fields. In this case, the interface edits the scaleFactor, rotation and translation fields.

A manipulator differs from a dragger. When you move a dragger, no other nodes are affected. When you move an SoTransformManip, other nodes move along with it. (See the reference page for SoTransformManip).

The interface for an SoTransformerManip is exactly the same as that of the SoTransformerDragger. To find out more about the interface, see the reference page for SoTransformerDragger. To find out how the manipulator uses a dragger to provide its interface, see the reference page for SoTransformManip.

On screen, this manipulator will surround the objects influenced by its motion. This is because it turns on the surroundScale part of the dragger (See the reference page for SoSurroundScale)

METHODS


SoTransformerManip()

Constructor.



static SoType getClassTypeId()

Returns type identifier for this class.



void setLocateHighlighting(SbBool onOff )

SbBool isLocateHighlighting()

Controls whether or not the dragger inside this manip will perform locate highlighting is used. Default is TRUE.



void unsquishKnobs()

Tells the dragger inside this manip 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.


FILE FORMAT/DEFAULTS

TransformerManip {

translation 0 0 0 rotation 0 0 1 0 scaleFactor 1 1 1 scaleOrientation 0 0 1 0 center 0 0 0
}

SEE ALSO

SoTransformerDragger, SoTransform, SoCenterballManip, SoHandleBoxManip, SoJackManip, SoTabBoxManip, SoTrackballManip, SoTransformBoxManip, SoTransformManip