SoTransformerManip(3IV)NAMESoTransformerManip (SoTransformerManip) - transform node with 3D
interface for changing scaling, rotation, and translation
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform >
SoTransformManip > SoTransformerManipSYNOPSIS
#include <Inventor_c/manips/SoTransformerManip.h>
Fields from class SoTransform:
SoSFVec3f translation
SoSFRotation rotation
SoSFVec3f scaleFactor
SoSFRotation scaleOrientation
SoSFVec3f center
Functions from class SoTransformerManip:
SoTransformerManip * SoTransformerManipCreate()
SoType SoTransformerManipGetClassTypeId()
void SoTransformerManipSetLocateHighlighting(SoTransformerManip
*this, SbBool onOff )
SbBool SoTransformerManipIsLocateHighlighting(SoTransformerManip
*this)
void SoTransformerManipUnsquishKnobs(SoTransformerManip
*this)
Functions from class SoTransformManip:
SoDragger * SoTransformerManipGetDrag(SoTransformerManip *this)
SbBool SoTransformerManipReplaceNode(SoTransformerManip
*this, SoPath *p )
SbBool SoTransformerManipReplaceManip(const
SoTransformerManip *this, SoPath *p, SoTransform
*newOne )
Functions from class SoTransform:
void SoTransformerManipPtAt(SoTransformerManip *this,
const SbVec3f *fromPoint, const SbVec3f
*toPoint)
void SoTransformerManipGetScaleSpaceMx(const
SoTransformerManip *this, SbMatrix *mat,
SbMatrix *inv)
void SoTransformerManipGetRotSpaceMx(const
SoTransformerManip *this, SbMatrix *mat,
SbMatrix *inv)
void SoTransformerManipGetXlateSpaceMx(const
SoTransformerManip *this, SbMatrix *mat,
Page 1SoTransformerManip(3IV)
SbMatrix *inv)
void SoTransformerManipMultLeft(SoTransformerManip *this,
const SbMatrix *mat)
void SoTransformerManipMultRight(SoTransformerManip *this,
const SbMatrix *mat)
void SoTransformerManipCombineLeft(SoTransformerManip
*this, SoTransformation *nodeOnRight)
void SoTransformerManipCombineRight(SoTransformerManip
*this, SoTransformation *nodeOnLeft)
void SoTransformerManipSetMx(SoTransformerManip *this,
const SbMatrix *mat)
void SoTransformerManipRecenter(SoTransformerManip *this,
const SbVec3f *newCenter)
Functions from class SoNode:
void SoTransformerManipSetOverride(SoTransformerManip
*this, SbBool state)
SbBool SoTransformerManipIsOverride(const SoTransformerManip
*this)
SoNode * SoTransformerManipCopy(const SoTransformerManip
*this, SbBool copyConnections = FALSE)
SbBool SoTransformerManipAffectsState(const
SoTransformerManip *this)
SoNode * SoTransformerManipGetByName(const char *name)
int SoTransformerManipGetByNameList(const char *name,
SoNodeList *list)
Functions from class SoFieldContainer:
void SoTransformerManipSetToDflts(SoTransformerManip
*this)
SbBool SoTransformerManipHasDfltVals(const
SoTransformerManip *this)
SbBool SoTransformerManipFldsAreEq(const SoTransformerManip
*this, const SoFieldContainer *fc)
void SoTransformerManipCopyFieldVals(SoTransformerManip
*this, const SoFieldContainer *fc, SbBool
copyConnections = FALSE)
SbBool SoTransformerManipSet(SoTransformerManip *this, const
char *fieldDataString)
void SoTransformerManipGet(SoTransformerManip *this,
SbString *fieldDataString)
int SoTransformerManipGetFields(const SoTransformerManip
*this, SoFieldList *resultList)
SoField * SoTransformerManipGetField(const SoTransformerManip
*this, const char *fieldName)
SbBool SoTransformerManipGetFieldName(const
SoTransformerManip *this, const SoField *field,
SbName *fieldName)
SbBool SoTransformerManipIsNotifyEnabled(const
SoTransformerManip *this)
Page 2SoTransformerManip(3IV)
SbBool SoTransformerManipEnableNotify(SoTransformerManip
*this, SbBool flag)
Functions from class SoBase:
void SoTransformerManipRef(SoTransformerManip *this)
void SoTransformerManipUnref(const SoTransformerManip
*this)
void SoTransformerManipUnrefNoDelete(const
SoTransformerManip *this)
void SoTransformerManipTouch(SoTransformerManip *this)
SoType SoTransformerManipGetTypeId(const SoTransformerManip
*this)
SbBool SoTransformerManipIsOfType(const SoTransformerManip
*this, SoType type)
void SoTransformerManipSetName(SoTransformerManip *this,
const char *name)
SbName SoTransformerManipGetName(const SoTransformerManip
*this)
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)
FUNCTIONSSoTransformerManip * SoTransformerManipCreate()
Constructor.
Page 3SoTransformerManip(3IV)
SoType SoTransformerManipGetClassTypeId()
Returns type identifier for this class.
void SoTransformerManipSetLocateHighlighting(SoTransformerManip
*this, SbBool onOff )
SbBool SoTransformerManipIsLocateHighlighting(SoTransformerManip
*this)
Controls whether or not the dragger inside this manip will perform
locate highlighting is used. Default is TRUE.
void SoTransformerManipUnsquishKnobs(SoTransformerManip
*this)
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
Page 4