Open Inventor Reference
SbVec3f Class Reference

3D vector class. More...

#include <Inventor/SbLinear.h>

Inheritance diagram for SbVec3f:
SbColor

Public Member Functions

 SbVec3f ()
 Default constructor.
 
 SbVec3f (const float v[3])
 Constructor given vector components.
 
 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.
 
const float * getValue () const
 Returns vector components.
 
void getValue (float &x, float &y, float &z) const
 Returns vector components.
 
float length () const
 Returns geometric length of vector.
 
float normalize ()
 Changes vector to be unit length, returning the length before normalization.
 
void negate ()
 Negates each component of vector in place.
 
SbVec3fsetValue (const float v[3])
 Sets the vector components.
 
SbVec3fsetValue (float x, float y, float z)
 Sets the vector components.
 
SbVec3fsetValue (const SbVec3f &barycentic, const SbVec3f &v0, const SbVec3f &v1, const SbVec3f &v2)
 Sets value of vector to be convex combination of 3 other vectors, using barycentic coordinates.
 
float & operator[] (int i)
 Accesses indexed component of vector.
 
const float & operator[] (int i) const
 
SbVec3foperator*= (float d)
 Component-wise scalar multiplication and division operators.
 
SbVec3foperator/= (float d)
 Component-wise scalar multiplication and division operators.
 
SbVec3foperator+= (SbVec3f v)
 Component-wise vector addition and subtraction operators.
 
SbVec3foperator-= (SbVec3f v)
 Component-wise vector addition and subtraction operators.
 
SbVec3f operator- () const
 Nondestructive unary negation - returns a new vector.
 
bool equals (const SbVec3f v, float tolerance) const
 Equality comparison within given tolerance em 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.
 

Protected Attributes

float vec [3]
 Storage for vector components.
 

Friends

INVENTOR_API SbVec3f operator* (const SbVec3f &v, float d)
 Component-wise binary scalar multiplication and division operators.
 
INVENTOR_API SbVec3f operator* (float d, const SbVec3f &v)
 
INVENTOR_API SbVec3f operator/ (const SbVec3f &v, float d)
 
INVENTOR_API SbVec3f operator+ (const SbVec3f &v1, const SbVec3f &v2)
 Component-wise binary vector addition and subtraction operators.
 
INVENTOR_API SbVec3f operator- (const SbVec3f &v1, const SbVec3f &v2)
 
INVENTOR_API bool operator== (const SbVec3f &v1, const SbVec3f &v2)
 Equality comparison operator.
 
INVENTOR_API bool operator!= (const SbVec3f &v1, const SbVec3f &v2)
 

Detailed Description

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

See Also
SbVec2f, SbVec4f, SbVec2s, SbRotation

Definition at line 120 of file SbLinear.h.

Constructor & Destructor Documentation

◆ SbVec3f() [1/4]

◆ SbVec3f() [2/4]

SbVec3f::SbVec3f ( const float v[3])
inline

Definition at line 127 of file SbLinear.h.

References vec.

◆ SbVec3f() [3/4]

SbVec3f::SbVec3f ( float x,
float y,
float z )
inline

Definition at line 131 of file SbLinear.h.

References vec.

◆ SbVec3f() [4/4]

SbVec3f::SbVec3f ( SbPlane & p0,
SbPlane & p1,
SbPlane & p2 )

Member Function Documentation

◆ cross()

SbVec3f SbVec3f::cross ( const SbVec3f & v) const

References SbVec3f().

◆ dot()

float SbVec3f::dot ( const SbVec3f & v) const

References SbVec3f().

◆ equals()

bool SbVec3f::equals ( const SbVec3f v,
float tolerance ) const

References SbVec3f().

◆ getClosestAxis()

SbVec3f SbVec3f::getClosestAxis ( ) const

References SbVec3f().

◆ getValue() [1/2]

const float * SbVec3f::getValue ( ) const
inline

Definition at line 144 of file SbLinear.h.

References vec.

Referenced by SbVec3fList::append(), SbVec3fList::insert(), and SbColor::SbColor().

◆ getValue() [2/2]

void SbVec3f::getValue ( float & x,
float & y,
float & z ) const

◆ length()

float SbVec3f::length ( ) const

◆ negate()

void SbVec3f::negate ( )

◆ normalize()

float SbVec3f::normalize ( )

◆ operator*=()

SbVec3f & SbVec3f::operator*= ( float d)

References SbVec3f().

◆ operator+=()

SbVec3f & SbVec3f::operator+= ( SbVec3f v)

References SbVec3f().

◆ operator-()

SbVec3f SbVec3f::operator- ( ) const

References SbVec3f().

◆ operator-=()

SbVec3f & SbVec3f::operator-= ( SbVec3f v)

References SbVec3f().

◆ operator/=()

SbVec3f & SbVec3f::operator/= ( float d)
inline

Definition at line 179 of file SbLinear.h.

References SbVec3f().

◆ operator[]() [1/2]

float & SbVec3f::operator[] ( int i)
inline

Definition at line 172 of file SbLinear.h.

References vec.

◆ operator[]() [2/2]

const float & SbVec3f::operator[] ( int i) const
inline

Definition at line 173 of file SbLinear.h.

References vec.

◆ setValue() [1/3]

SbVec3f & SbVec3f::setValue ( const float v[3])
inline

Definition at line 159 of file SbLinear.h.

References SbVec3f(), and vec.

Referenced by SbColor::SbColor(), SbColor::SbColor(), and SbColor::SbColor().

◆ setValue() [2/3]

SbVec3f & SbVec3f::setValue ( const SbVec3f & barycentic,
const SbVec3f & v0,
const SbVec3f & v1,
const SbVec3f & v2 )

References SbVec3f().

◆ setValue() [3/3]

SbVec3f & SbVec3f::setValue ( float x,
float y,
float z )
inline

Definition at line 163 of file SbLinear.h.

References SbVec3f(), and vec.

Friends And Related Symbol Documentation

◆ operator!=

INVENTOR_API bool operator!= ( const SbVec3f & v1,
const SbVec3f & v2 )
friend

Definition at line 225 of file SbLinear.h.

References INVENTOR_API, and SbVec3f().

◆ operator* [1/2]

INVENTOR_API SbVec3f operator* ( const SbVec3f & v,
float d )
friend

References INVENTOR_API, and SbVec3f().

◆ operator* [2/2]

INVENTOR_API SbVec3f operator* ( float d,
const SbVec3f & v )
friend

Definition at line 217 of file SbLinear.h.

References INVENTOR_API, and SbVec3f().

◆ operator+

INVENTOR_API SbVec3f operator+ ( const SbVec3f & v1,
const SbVec3f & v2 )
friend

References INVENTOR_API, and SbVec3f().

◆ operator-

INVENTOR_API SbVec3f operator- ( const SbVec3f & v1,
const SbVec3f & v2 )
friend

References INVENTOR_API, and SbVec3f().

◆ operator/

INVENTOR_API SbVec3f operator/ ( const SbVec3f & v,
float d )
friend

Definition at line 219 of file SbLinear.h.

References INVENTOR_API, and SbVec3f().

◆ operator==

INVENTOR_API bool operator== ( const SbVec3f & v1,
const SbVec3f & v2 )
friend

References INVENTOR_API, and SbVec3f().

Member Data Documentation

◆ vec

float SbVec3f::vec[3]
protected

Definition at line 213 of file SbLinear.h.

Referenced by getValue(), operator[](), operator[](), SbVec3f(), SbVec3f(), SbVec3f(), setValue(), and setValue().


The documentation for this class was generated from the following file: