SbVec3f(3IV)NAMESbVec3f (SbV3f) - 3D vector class
INHERITS FROMSbVec3fSYNOPSIS
#include <Inventor_c/SbLinear.h>
typedef SbVec3f SbV3f
Functions from class SbVec3f:
SbVec3f SbV3fCross(const SbV3f *this, const SbVec3f *v)
SbBool SbV3fEquals(const SbV3f *this, const SbVec3f v, float
tolerance)
SbVec3f SbV3fGetClosestAxis(const SbV3f *this)
float SbV3fNorm(SbV3f *this)
int SbV3fIsEq(SbV3f *this, const SbVec3f *v1, const
SbVec3f *v2)
int SbV3fIsNEq(SbV3f *this, const SbVec3f *v1, const
SbVec3f *v2)
Macros from class SbVec3f:
SbV3fDot(SbVec3f vec0, SbVec3f vec1)
SbV3fGetXYZ(float array[3], SbVec3f vec)
SbV3fGetX_Y_Z(float x, float y, float z, SbVec3f vec)
SbV3fLen(SbVec3f vec)
SbV3fNegate(SbVec3f vec)
SbV3fSetXYZ(SbVec3f vec, float array[3])
SbV3fSetX_Y_Z(SbVec3f vec, float x, float y, float z)
SbV3fMultBy(SbVec3f vec, float scalar)
SbV3fDivBy(SbVec3f vec, float scalar)
SbV3fAdd(SbVec3f dest, SbVec3f src1, SbVec3f src2)
SbV3fSub(SbVec3f dest, SbVec3f src1, SbVec3f src2)
DESCRIPTION
3D vector class used to store 3D vectors and points. This class is used
throughout Inventor for arguments and return values. This object does
not have Create or Delete functions because it is considered a simple
datatype; instances of this class may be declared directly as local or
global variables in C. C programmers can access the components of the
vector as though it were a simple structure or use the access and
operation functions described in this reference page:
struct SbVec3f { float vec[3]; };
SbVec2f v1, v2;
/* The next two lines produce equivalent vectors. */
Page 1SbVec3f(3IV)
v1.vec[0] = 1.0; v1.vec[1] = 1.0; v1.vec[2] = 1.0;
SbV3fSetX_Y_Z( v2, 1.0, 1.0, 1.0 );
FUNCTIONSSbVec3f SbV3fCross(const SbV3f *this, const SbVec3f *v)
Returns right-handed cross product of vector and another vector.
SbBool SbV3fEquals(const SbV3f *this, const SbVec3f v, float
tolerance)
Equality comparison within given tolerance - the square of the
length of the maximum distance between the two vectors.
SbVec3f SbV3fGetClosestAxis(const SbV3f *this)
Returns principal axis that is closest (based on maximum dot
product) to this vector.
float SbV3fNorm(SbV3f *this)
Changes vector to be unit length, returning the length before
normalization.
int SbV3fIsEq(SbV3f *this, const SbVec3f *v1, const
SbVec3f *v2)
int SbV3fIsNEq(SbV3f *this, const SbVec3f *v1, const
SbVec3f *v2)
Equality comparison operators.
MACROS
SbV3fDot(SbVec3f vec0, SbVec3f vec1)
Returns dot (inner) product of two vectors.
SbV3fGetXYZ(float array[3], SbVec3f vec)
SbV3fGetX_Y_Z(float x, float y, float z, SbVec3f vec)
Returns vector components.
SbV3fLen(SbVec3f vec)
Returns geometric length of vector.
SbV3fNegate(SbVec3f vec)
Negates each component of vector in place.
SbV3fSetXYZ(SbVec3f vec, float array[3])
SbV3fSetX_Y_Z(SbVec3f vec, float x, float y, float z)
Sets the vector components.
SbV3fMultBy(SbVec3f vec, float scalar)
SbV3fDivBy(SbVec3f vec, float scalar)
Component-wise scalar multiplication and division operators.
SbV3fAdd(SbVec3f dest, SbVec3f src1, SbVec3f src2)
Page 2SbVec3f(3IV)
SbV3fSub(SbVec3f dest, SbVec3f src1, SbVec3f src2)
Component-wise binary vector addition and subtraction operators.
FILE FORMAT/DEFAULTS
Vec3f {
}
SEE ALSO
SbVec2f, SbVec4f, SbVec2s, SbRotation
Page 3