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

NAME

       SbVec3f — 3D vector class

INHERITS FROM

       SbVec3f

SYNOPSIS

       #include <Inventor/SbLinear.h>

          Methods from class SbVec3f:

                         SbVec3f()
                         SbVec3f(const float v[3])
                         SbVec3f(float x, float y, float z)
                         SbVec3f(SbPlane &p0, SbPlane &p1, SbPlane &p2)
     SbVec3f             cross(const SbVec3f &v) const
     float               dot(const SbVec3f &v) const
     SbBool              equals(const SbVec3f v, float tolerance) const
     SbVec3f             getClosestAxis() const
     const float *       getValue() const
     void                getValue(float &x, float &y, float &z) const
     float               length() const
     void                negate()
     float               normalize()
     SbVec3f &           setValue(const float v[3])
     SbVec3f &           setValue(float x, float y, float z)
     SbVec3f  &           setValue(const  SbVec3f  &barycentic,  const SbVec3f &v0, const SbVec3f
                              &v1, const SbVec3f &v2)
     float &             operator [](int i)
     const float &       operator [](int i)
     SbVec3f &           operator *=(float d)
     SbVec3f &           operator /=(float d)
     SbVec3f &           operator +=(const SbVec3f &u)
     SbVec3f &           operator -=(const SbVec3f &u)
     SbVec3f             operator -() const
     SbVec3f             operator *(const SbVec3f &v, float d)
     SbVec3f             operator *(float d, const SbVec3f &v)
     SbVec3f             operator /(const SbVec3f &v, float d)
     SbVec3f             operator +(const SbVec3f &v1, const SbVec3f &v2)
     SbVec3f             operator -(const SbVec3f &v1, const SbVec3f &v2)
     int                 operator ==(const SbVec3f &v1, const SbVec3f &v2)
     int                 operator !=(const SbVec3f &v1, const SbVec3f &v2)

DESCRIPTION

       3D vector class used to store 3D  vectors  and  points.  This  class  is  used  throughout
       Inventor for arguments and return values.

METHODS

                         SbVec3f()
          Default constructor.

                         SbVec3f(const float v[3])
                         SbVec3f(float x, float y, float z)
          Constructor given vector components.

                         SbVec3f(SbPlane &p0, SbPlane &p1, SbPlane &p2)
          Constructor given 3 planes.

     SbVec3f             cross(const SbVec3f &v) const
          Returns right-handed cross product of vector and another vector.

     float               dot(const SbVec3f &v) const
          Returns dot (inner) product of vector and another vector.

     SbBool              equals(const SbVec3f v, float tolerance) const
          Equality  comparison  within  given tolerance — the square of the length of the maximum
          distance between the two vectors.

     SbVec3f             getClosestAxis() const
          Returns principal axis that is closest (based on maximum dot product) to this vector.

     const float *       getValue() const
     void                getValue(float &x, float &y, float &z) const
          Returns vector components.

     float               length() const
          Returns geometric length of vector.

     void                negate()
          Negates each component of vector in place.

     float               normalize()
          Changes vector to be unit length, returning the length before normalization.

     SbVec3f &           setValue(const float v[3])
     SbVec3f &           setValue(float x, float y, float z)
          Sets the vector components.

     SbVec3f &           setValue(const SbVec3f &barycentic, const  SbVec3f  &v0,  const  SbVec3f
                              &v1, const SbVec3f &v2)
          Sets value of vector as the weighted average of 3 other vectors.

     float &             operator [](int i)
     const float &       operator [](int i)
          Accesses indexed component of vector.

     SbVec3f &           operator *=(float d)
     SbVec3f &           operator /=(float d)
          Component-wise scalar multiplication and division operators.

     SbVec3f &           operator +=(const SbVec3f &u)
     SbVec3f &           operator -=(const SbVec3f &u)
          Component-wise vector addition and subtraction operators.

     SbVec3f             operator -() const
          Nondestructive unary negation — returns a new vector.

     SbVec3f             operator *(const SbVec3f &v, float d)
     SbVec3f             operator *(float d, const SbVec3f &v)
     SbVec3f             operator /(const SbVec3f &v, float d)
          Component-wise binary scalar multiplication and division operators.

     SbVec3f             operator +(const SbVec3f &v1, const SbVec3f &v2)
     SbVec3f             operator -(const SbVec3f &v1, const SbVec3f &v2)
          Component-wise binary vector addition and subtraction operators.

     int                 operator ==(const SbVec3f &v1, const SbVec3f &v2)
     int                 operator !=(const SbVec3f &v1, const SbVec3f &v2)
          Equality comparison operators.

SEE ALSO

       SbVec2f, SbVec4f, SbVec2s, SbRotation

                                                                                   SbVec3f(3IV)()