table of contents
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