Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://bitbucket.org/Coin3D/
http://www.kongsberg.com/kogt/
SbVec4d Class Reference

The SbVec4d class is a 4 dimensional vector with double precision floating point coordinates. More...

#include <Inventor/SbVec4d.h>

Public Member Functions

 SbVec4d (void)
 
 SbVec4d (const double v[4])
 
 SbVec4d (double x, double y, double z, double w)
 
 SbVec4d (const SbVec4f &v)
 
 SbVec4d (const SbVec4b &v)
 
 SbVec4d (const SbVec4s &v)
 
 SbVec4d (const SbVec4i32 &v)
 
SbVec4dsetValue (const double v[4])
 
SbVec4dsetValue (double x, double y, double z, double w)
 
SbVec4dsetValue (const SbVec4f &v)
 
SbVec4dsetValue (const SbVec4b &v)
 
SbVec4dsetValue (const SbVec4s &v)
 
SbVec4dsetValue (const SbVec4i32 &v)
 
const double * getValue (void) const
 
void getValue (double &x, double &y, double &z, double &w) const
 
double & operator[] (int i)
 
const double & operator[] (int i) const
 
double dot (const SbVec4d &v) const
 
SbBool equals (const SbVec4d &v, double tolerance) const
 
void getReal (SbVec3d &v) const
 
double length (void) const
 
double sqrLength (void) const
 
void negate (void)
 
double normalize (void)
 
SbVec4doperator*= (double d)
 
SbVec4doperator/= (double d)
 
SbVec4doperator+= (const SbVec4d &v)
 
SbVec4doperator-= (const SbVec4d &v)
 
SbVec4d operator- (void) const
 
void print (FILE *fp) const
 

Protected Attributes

double vec [4]
 

Related Functions

(Note that these are not member functions.)

SbVec4d operator* (const SbVec4d &v, double d)
 
SbVec4d operator* (double d, const SbVec4d &v)
 
SbVec4d operator/ (const SbVec4d &v, double d)
 
SbVec4d operator+ (const SbVec4d &v1, const SbVec4d &v2)
 
SbVec4d operator- (const SbVec4d &v1, const SbVec4d &v2)
 
int operator== (const SbVec4d &v1, const SbVec4d &v2)
 
int operator!= (const SbVec4d &v1, const SbVec4d &v2)
 

Detailed Description

The SbVec4d class is a 4 dimensional vector with double precision floating point coordinates.

This vector class is not by many other classes in Coin. It provides storage for a 3 dimensional homogeneoues vector (with the 4 components usually referred to as <x, y, z, w>) aswell as simple double precision floating point arithmetic operations.

See also
SbVec2s, SbVec2f, SbVec2d, SbVec3s, SbVec3f, SbVec3d, SbVec4f.

Constructor & Destructor Documentation

◆ SbVec4d() [1/7]

SbVec4d::SbVec4d ( void  )
inline

The default constructor does nothing. The vector coordinates will be uninitialized until a call the setValue().

◆ SbVec4d() [2/7]

SbVec4d::SbVec4d ( const double  v[4])
inline

Constructs an SbVec4d instance with initial values from v.

◆ SbVec4d() [3/7]

SbVec4d::SbVec4d ( double  x,
double  y,
double  z,
double  w 
)
inline

Constructs an SbVec4d instance with the initial homogeneous vector set to <x,y,z,w>.

◆ SbVec4d() [4/7]

SbVec4d::SbVec4d ( const SbVec4f v)
inlineexplicit

Constructs an SbVec4d instance from an SbVec4f instance.

◆ SbVec4d() [5/7]

SbVec4d::SbVec4d ( const SbVec4b v)
inlineexplicit

Constructs an SbVec4d instance from an SbVec4b instance.

Since
Coin 2.5

◆ SbVec4d() [6/7]

SbVec4d::SbVec4d ( const SbVec4s v)
inlineexplicit

Constructs an SbVec4d instance from an SbVec4s instance.

Since
Coin 2.5

◆ SbVec4d() [7/7]

SbVec4d::SbVec4d ( const SbVec4i32 v)
inlineexplicit

Constructs an SbVec4d instance from an SbVec4i32 instance.

Since
Coin 2.5

Member Function Documentation

◆ setValue() [1/6]

SbVec4d & SbVec4d::setValue ( const double  v[4])
inline

Set new coordinates for the vector from v. Returns reference to self.

See also
getValue().

◆ setValue() [2/6]

SbVec4d & SbVec4d::setValue ( double  x,
double  y,
double  z,
double  w 
)
inline

Set new coordinates for the vector. Returns reference to self.

See also
getValue().

◆ setValue() [3/6]

SbVec4d & SbVec4d::setValue ( const SbVec4f v)
Since
Coin 2.5

◆ setValue() [4/6]

SbVec4d & SbVec4d::setValue ( const SbVec4b v)
Since
Coin 2.5

◆ setValue() [5/6]

SbVec4d & SbVec4d::setValue ( const SbVec4s v)
Since
Coin 2.5

◆ setValue() [6/6]

SbVec4d & SbVec4d::setValue ( const SbVec4i32 v)
Since
Coin 2.5

◆ getValue() [1/2]

const double * SbVec4d::getValue ( void  ) const
inline

Returns a pointer to an array of four doubles containing the x, y, z and w coordinates of the vector.

See also
setValue().

◆ getValue() [2/2]

void SbVec4d::getValue ( double &  x,
double &  y,
double &  z,
double &  w 
) const
inline

Returns the x, y, z and w coordinates of the vector.

See also
setValue().

◆ operator[]() [1/2]

double & SbVec4d::operator[] ( int  i)
inline

Index operator. Returns modifiable x, y, z or w component of vector.

See also
getValue() and setValue().

◆ operator[]() [2/2]

const double & SbVec4d::operator[] ( int  i) const
inline

Index operator. Returns x, y, z or w component of vector.

See also
getValue() and setValue().

◆ dot()

double SbVec4d::dot ( const SbVec4d v) const
inline

Calculates and returns the result of taking the dot product of this vector and v.

◆ equals()

SbBool SbVec4d::equals ( const SbVec4d v,
double  tolerance 
) const

Compares the vector with v and returns TRUE if the distance between the vectors is smaller or equal to the square root of tolerance.

The comparison is done in 4D-space, i.e. the w component of the vector is not used to make x, y and z into Cartesian coordinates first.

◆ getReal()

void SbVec4d::getReal ( SbVec3d v) const

Returns the vector as a Cartesian 3D vector in v. This means that the 3 first components x, y and z will be divided by the fourth, w.

◆ length()

double SbVec4d::length ( void  ) const

Return the length of the vector in 4D space.

◆ sqrLength()

double SbVec4d::sqrLength ( void  ) const
inline

Return the square of the length of the vector in 4D space.

◆ negate()

void SbVec4d::negate ( void  )
inline

Negate the vector.

◆ normalize()

double SbVec4d::normalize ( void  )

Normalize the vector to unit length. Return value is the original length of the vector before normalization.

◆ operator*=()

SbVec4d & SbVec4d::operator*= ( double  d)
inline

Multiply components of vector with value d. Returns reference to self.

◆ operator+=()

SbVec4d & SbVec4d::operator+= ( const SbVec4d v)
inline

SbVec4d & SbVec4d::operator /= (double d)

Divides components of vector with value d. Returns reference to self.

Adds this vector and vector v. Returns reference to self.

◆ operator-=()

SbVec4d & SbVec4d::operator-= ( const SbVec4d v)
inline

Subtracts vector v from this vector. Returns reference to self.

◆ operator-()

SbVec4d SbVec4d::operator- ( void  ) const
inline

Non-destructive negation operator. Returns a new SbVec4d instance which has all components negated.

See also
negate().

◆ print()

void SbVec4d::print ( FILE *  fp) const

Dump the state of this object to the file stream. Only works in debug version of library, method does nothing in an optimized compile.

Friends And Related Function Documentation

◆ operator*() [1/2]

SbVec4d operator* ( const SbVec4d v,
double  d 
)
related

Returns an SbVec4d instance which is the components of vector v multiplied with d.

◆ operator*() [2/2]

SbVec4d operator* ( double  d,
const SbVec4d v 
)
related

Returns an SbVec4d instance which is the components of vector v multiplied with d.

◆ operator/()

SbVec4d operator/ ( const SbVec4d v,
double  d 
)
related

Returns an SbVec4d instance which is the components of vector v divided on the scalar factor d.

◆ operator+()

SbVec4d operator+ ( const SbVec4d v1,
const SbVec4d v2 
)
related

Returns an SbVec4d instance which is the sum of vectors v1 and v2.

◆ operator-()

SbVec4d operator- ( const SbVec4d v1,
const SbVec4d v2 
)
related

Returns an SbVec4d instance which is vector v2 subtracted from vector v1.

◆ operator==()

int operator== ( const SbVec4d v1,
const SbVec4d v2 
)
related

Returns 1 if v1 and v2 are equal, 0 otherwise.

See also
equals().

◆ operator!=()

int operator!= ( const SbVec4d v1,
const SbVec4d v2 
)
related

Returns 1 if v1 and v2 are not equal, 0 if they are equal.

See also
equals().

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