Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

       SoTransformVec3f — transforms a 3D vector by a 4x4 matrix

INHERITS FROM

       SoBase > SoFieldContainer > SoEngine > SoTransformVec3f

SYNOPSIS

       #include <Inventor/engines/SoTransformVec3f.h>

          Inputs from class SoTransformVec3f:

     SoMFVec3f           vector
     SoMFMatrix          matrix

          Outputs from class SoTransformVec3f:

     (SoMFVec3f)         point
     (SoMFVec3f)         direction
     (SoMFVec3f)         normalDirection

          Methods from class SoTransformVec3f:

                         SoTransformVec3f()

          Methods from class SoEngine:

     static SoType       getClassTypeId()
     virtual int         getOutputs(SoEngineOutputList &list) const
     SoEngineOutput *    getOutput(const SbName &outputName) const
     SbBool              getOutputName(const SoEngineOutput *output, SbName &outputName) const
     SoEngine *          copy() const
     static SoEngine *   getByName(const SbName &name)
     static int          getByName(const SbName &name, SoEngineList &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 engine takes as input a three dimensional floating-point vector and a  transformation
       matrix. The vector is assumed to be a row vector.

       The engine multiplies the vector by the matrix and returns the result in the output point.
       The output direction contains the result when the matrix multiplication assumes the vector
       is  a  direction,  and  therefore  ignores  the translation part of the matrix. The output
       normalDirection contains the normalized direction

INPUTS

     SoMFVec3f           vector
          Input row vector.

     SoMFMatrix          matrix
          Input transformation matrix.

OUTPUTS

     (SoMFVec3f)         point
          Vector transformed by matrix.

     (SoMFVec3f)         direction
          Vector transformed by matrix, ignoring translation.

     (SoMFVec3f)         normalDirection
          Normalized direction.

METHODS

                         SoTransformVec3f()
          Constructor

FILE FORMAT/DEFAULTS

       TransformVec3f {
          vector  0 0 0
          matrix  1 0 0 0
                  0 1 0 0
                  0 0 1 0
                  0 0 0 1
     }

SEE ALSO

       SoEngineOutput

                                                                          SoTransformVec3f(3IV)()