GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SOTRANSFORM (3)

NAME

SoTransform — general 3D geometric transformation node

CONTENTS

Inherits From
Synopsis
Description
Fields
Methods
Action Behavior
File Format/defaults
See Also

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform

SYNOPSIS

#include <Inventor/nodes/SoTransform.h>

Fields from class SoTransform:

    SoSFVec3f    
                    
SoSFVec3f            translation    
SoSFRotation    
                    
SoSFRotation         rotation    
SoSFVec3f    
                    
SoSFVec3f            scaleFactor    
SoSFRotation    
                    
SoSFRotation         scaleOrientation    
SoSFVec3f    
                    
SoSFVec3f            center

Methods from class SoTransform:

       
                    
                     SoTransform()    
void    
                    
void                 pointAt(const SbVec3f &fromPoint, const SbVec3f &toPoint)    
void    
                    
void                 getScaleSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const    
void    
                    
void                 getRotationSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const    
void    
                    
void                 getTranslationSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const    
void    
                    
void                 multLeft(const SbMatrix &mat)    
void    
                    
void                 multRight(const SbMatrix &mat)    
void    
                    
void                 combineLeft(SoTransformation *nodeOnRight)    
void    
                    
void                 combineRight(SoTransformation *nodeOnLeft)    
void    
                    
void                 setMatrix(const SbMatrix &mat)    
void    
                    
void                 recenter(const SbVec3f &newCenter)    
static SoType    
                    
static SoType        getClassTypeId()

Methods from class SoNode:

    void    
                    
void                 setOverride(SbBool state)    
SbBool    
                    
SbBool               isOverride() const    
SoNode *    
                    
SoNode *             copy(SbBool copyConnections = FALSE) const    
virtual SbBool    
                    
virtual SbBool       affectsState() const    
static SoNode *    
                    
static SoNode *      getByName(const SbName &name)    
static int    
                    
static int           getByName(const SbName &name, SoNodeList &list)

Methods from class SoFieldContainer:

    void    
                    
void                 setToDefaults()    
SbBool    
                    
SbBool               hasDefaultValues() const    
SbBool    
                    
SbBool               fieldsAreEqual(const SoFieldContainer *fc) const    
void    
                    
void                 copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)    
SbBool    
                    
SbBool               set(const char *fieldDataString)    
void    
                    
void                 get(SbString &fieldDataString)    
virtual int    
                    
virtual int          getFields(SoFieldList &resultList) const    
virtual SoField *    
                    
virtual SoField *    getField(const SbName &fieldName) const    
SbBool    
                    
SbBool               getFieldName(const SoField *field, SbName &fieldName) const    
SbBool    
                    
SbBool               isNotifyEnabled() const    
SbBool    
                    
SbBool               enableNotify(SbBool flag)

Methods from class SoBase:

    void    
                    
void                 ref()    
void    
                    
void                 unref() const    
void    
                    
void                 unrefNoDelete() const    
void    
                    
void                 touch()    
virtual SoType    
                    
virtual SoType       getTypeId() const    
SbBool    
                    
SbBool               isOfType(SoType type) const    
virtual void    
                    
virtual void         setName(const SbName &name)    
virtual SbName    
                    
virtual SbName       getName() const

DESCRIPTION

This node defines a geometric 3D transformation consisting of (in order) a (possibly) non-uniform scale about an arbitrary point, a rotation about an arbitrary point and axis, and a translation. (While the transformations can be thought of as being applied in that order, matrices are actually premultiplied in the opposite order. Therefore, the operations are listed in the reverse order throughout this reference page.)

FIELDS

    SoSFVec3f    
                    
SoSFVec3f            translation
Translation vector.

    SoSFRotation    
                    
SoSFRotation         rotation
Rotation specification.

    SoSFVec3f    
                    
SoSFVec3f            scaleFactor
Scale factors.

    SoSFRotation    
                    
SoSFRotation         scaleOrientation
Rotational orientation for scale.

    SoSFVec3f    
                    
SoSFVec3f            center
Origin for scale and rotation.

METHODS

       
                    
                     SoTransform()
Creates a transformation node with default settings.

    void    
                    
void                 pointAt(const SbVec3f &fromPoint, const SbVec3f &toPoint)
Sets the node to translate the origin to the fromPoint and rotate the negative z-axis (0,0,-1) to lie on the vector from fromPoint to toPoint. This always tries to keep the "up" direction the positive y-axis, unless that is impossible. All current field values in the node are replaced.

    void    
                    
void                 getScaleSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const    
void    
                    
void                 getRotationSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const    
void    
                    
void                 getTranslationSpaceMatrix(SbMatrix &mat, SbMatrix &inv) const
These return composite matrices that transform from object space to each of the spaces after the scale, rotation, or translation.

    void    
                    
void                 multLeft(const SbMatrix &mat)    
void    
                    
void                 multRight(const SbMatrix &mat)
These are convenience functions that combine the effects of a matrix transformation into the current transformation stored in this node. The first method premultiplies the transformation and the second postmultiplies it.

    void    
                    
void                 combineLeft(SoTransformation *nodeOnRight)    
void    
                    
void                 combineRight(SoTransformation *nodeOnLeft)
These are convenience functions that combine the effects of another transformation node into the current transformation stored in this node. The first method premultiplies the transformation and the second postmultiplies it.

    void    
                    
void                 setMatrix(const SbMatrix &mat)
Sets the fields in the node to implement the transformation represented by the given matrix. Note that invalid matrices (such as singular ones) have undefined results.

    void    
                    
void                 recenter(const SbVec3f &newCenter)
Changes the center of the transformation to the given point without affecting the overall effect of the transformation.

    static SoType    
                    
static SoType        getClassTypeId()
Returns type identifier for this class.

ACTION BEHAVIOR

SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction
Accumulates transformation into the current transformation.

SoGetMatrixAction
Returns the matrix corresponding to the total transformation.

FILE FORMAT/DEFAULTS

Transform {



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


}

SEE ALSO

SoMatrixTransform, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoTransformManip, SoTransformSeparator, SoTranslation

Search for    or go to Top of page |  Section 3 |  Main Index


SOTRANSFORM(3IV) (-->)

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.