SoCenterballManip(3IV)NAMESoCenterballManip (SoCballManip) - transform node with 3D interface for
editing rotation and center
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform >
SoTransformManip > SoCenterballManipSYNOPSIS
#include <Inventor_c/manips/SoCenterballManip.h>
typedef SoCenterballManip SoCballManip
Fields from class SoTransform:
SoSFVec3f translation
SoSFRotation rotation
SoSFVec3f scaleFactor
SoSFRotation scaleOrientation
SoSFVec3f center
Functions from class SoCenterballManip:
SoCenterballManip * SoCballManipCreate()
SoType SoCballManipGetClassTypeId()
Functions from class SoTransformManip:
SoDragger * SoCballManipGetDrag(SoCballManip *this)
SbBool SoCballManipReplaceNode(SoCballManip *this, SoPath *p
)
SbBool SoCballManipReplaceManip(const SoCballManip *this,
SoPath *p, SoTransform *newOne )
Functions from class SoTransform:
void SoCballManipPtAt(SoCballManip *this, const SbVec3f
*fromPoint, const SbVec3f *toPoint)
void SoCballManipGetScaleSpaceMx(const SoCballManip *this,
SbMatrix *mat, SbMatrix *inv)
void SoCballManipGetRotSpaceMx(const SoCballManip *this,
SbMatrix *mat, SbMatrix *inv)
void SoCballManipGetXlateSpaceMx(const SoCballManip *this,
SbMatrix *mat, SbMatrix *inv)
void SoCballManipMultLeft(SoCballManip *this, const
SbMatrix *mat)
void SoCballManipMultRight(SoCballManip *this, const
SbMatrix *mat)
void SoCballManipCombineLeft(SoCballManip *this,
SoTransformation *nodeOnRight)
void SoCballManipCombineRight(SoCballManip *this,
SoTransformation *nodeOnLeft)
Page 1SoCenterballManip(3IV)
void SoCballManipSetMx(SoCballManip *this, const SbMatrix
*mat)
void SoCballManipRecenter(SoCballManip *this, const
SbVec3f *newCenter)
Functions from class SoNode:
void SoCballManipSetOverride(SoCballManip *this, SbBool
state)
SbBool SoCballManipIsOverride(const SoCballManip *this)
SoNode * SoCballManipCopy(const SoCballManip *this, SbBool
copyConnections = FALSE)
SbBool SoCballManipAffectsState(const SoCballManip *this)
SoNode * SoCballManipGetByName(const char *name)
int SoCballManipGetByNameList(const char *name,
SoNodeList *list)
Functions from class SoFieldContainer:
void SoCballManipSetToDflts(SoCballManip *this)
SbBool SoCballManipHasDfltVals(const SoCballManip *this)
SbBool SoCballManipFldsAreEq(const SoCballManip *this, const
SoFieldContainer *fc)
void SoCballManipCopyFieldVals(SoCballManip *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
SbBool SoCballManipSet(SoCballManip *this, const char
*fieldDataString)
void SoCballManipGet(SoCballManip *this, SbString
*fieldDataString)
int SoCballManipGetFields(const SoCballManip *this,
SoFieldList *resultList)
SoField * SoCballManipGetField(const SoCballManip *this, const
char *fieldName)
SbBool SoCballManipGetFieldName(const SoCballManip *this,
const SoField *field, SbName *fieldName)
SbBool SoCballManipIsNotifyEnabled(const SoCballManip *this)
SbBool SoCballManipEnableNotify(SoCballManip *this, SbBool
flag)
Functions from class SoBase:
void SoCballManipRef(SoCballManip *this)
void SoCballManipUnref(const SoCballManip *this)
void SoCballManipUnrefNoDelete(const SoCballManip *this)
void SoCballManipTouch(SoCballManip *this)
SoType SoCballManipGetTypeId(const SoCballManip *this)
SbBool SoCballManipIsOfType(const SoCballManip *this, SoType
type)
void SoCballManipSetName(SoCballManip *this, const char
*name)
Page 2SoCenterballManip(3IV)
SbName SoCballManipGetName(const SoCballManip *this)
DESCRIPTIONSoCenterballManip 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 rotation and center 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 SoCenterballManip is exactly the same as that of the
SoCenterballDragger. To find out more about the interface, see the
reference page for SoCenterballDragger. 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.)
FUNCTIONSSoCenterballManip * SoCballManipCreate()
Constructor.
SoType SoCballManipGetClassTypeId()
Returns type identifier for this class.
FILE FORMAT/DEFAULTS
CenterballManip {
translation 0 0 0
rotation 0 0 1 0
scaleFactor 1 1 1
scaleOrientation 0 0 1 0
center 0 0 0
}
SEE ALSO
SoCenterballDragger, SoHandleBoxManip, SoJackManip, SoTabBoxManip,
SoTrackballManip, SoTransformBoxManip, SoTransformerManip, SoTransform,
SoTransformManip
Page 3