SoTransformVec3f — transforms a 3D vector by a 4x4 matrix
Contents
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
directionFile Format/Defaults
TransformVec3f{vector000matrix1000010000100001}Inherits From
SoBase > SoFieldContainer > SoEngine > SoTransformVec3f
Inputs
SoMFVec3fvector
Input row vector.
SoMFMatrixmatrix
Input transformation matrix.
Methods
SoTransformVec3f()
Constructor
Name
SoTransformVec3f — transforms a 3D vector by a 4x4 matrix
Outputs
(SoMFVec3f)point
Vector transformed by matrix.
(SoMFVec3f)direction
Vector transformed by matrix, ignoring translation.
(SoMFVec3f)normalDirection
Normalized direction.
See Also
SoEngineOutputSoTransformVec3f(3IV)()
Synopsis
#include<Inventor/engines/SoTransformVec3f.h>
Inputs from class SoTransformVec3f:
SoMFVec3fvectorSoMFMatrixmatrix
Outputs from class SoTransformVec3f:
(SoMFVec3f)point(SoMFVec3f)direction(SoMFVec3f)normalDirection
Methods from class SoTransformVec3f:
SoTransformVec3f()
Methods from class SoEngine:
staticSoTypegetClassTypeId()virtualintgetOutputs(SoEngineOutputList&list)constSoEngineOutput*getOutput(constSbName&outputName)constSbBoolgetOutputName(constSoEngineOutput*output,SbName&outputName)constSoEngine*copy()conststaticSoEngine*getByName(constSbName&name)staticintgetByName(constSbName&name,SoEngineList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const