SbVec4d Class Reference
[Basics]

VSG extension 4D vector class (double precision). More...

#include <Inventor/SbVec.h>

List of all members.

Public Member Functions

 SbVec4d ()
 SbVec4d (const double v[4])
 SbVec4d (double x, double y, double z, double w)
double dot (const SbVec4d &v) const
void getReal (SbVec3d &v) const
const double * getValue () const
void getValue (double &x, double &y, double &z, double &w) const
double length () const
double lengthSquared () const
void negate ()
double normalize ()
SbVec4dsetValue (const double v[4])
SbVec4dsetValue (double x, double y, double z, double w)
SbVec4dsetValue (const SbVec4f &vec4f)
SbVec4doperator*= (double d)
SbVec4doperator/= (double d)
SbVec4doperator+= (const SbVec4d &u)
SbVec4doperator-= (const SbVec4d &u)
SbVec4d operator- () const
SbBool equals (const SbVec4d &v, double tolerance) const
template<typename T >
 SbVec4d (const T &v)

Friends

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)
std::ostream & operator<< (std::ostream &os, const SbVec4d &v)



double & operator[] (int i)
const double & operator[] (int i) const

Detailed Description

VSG extension 4D vector class (double precision).

4D vector class used to store homogeneous coordinates. Although Open Inventor fields still store only single precision values, for certain applications it is useful and convenient to be able to store and manipulate double precision values, for example, double precision coordinate data or values that will be used for further computation.

SEE ALSO

SbRotation, SbRotationd, SbVec2d, SbVec2f, SbVec2i32, SbVec2s, SbVec3d, SbVec3f, SbVec3i32, SbVec3s, SbVec4b, SbVec4f, SbVec4i32, SbVec4s, SbVec4ub, SbVec4ui32, SbVec4us


Constructor & Destructor Documentation

SbVec4d::SbVec4d (  )  [inline]

Default constructor.

The vector is initialized with zeros.

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

Constructor given vector components.

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

Constructor given vector components.

template<typename T >
SbVec4d::SbVec4d ( const T &  v  )  [inline, explicit]

Constructor that converts an arbitrary SbVec4 to an SbVec4d.


Member Function Documentation

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

Returns dot (inner) product of vector and another vector.

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

Equality comparison within given tolerance - the square of the length of the maximum distance between the two vectors.

void SbVec4d::getReal ( SbVec3d v  )  const

Returns the real portion of the vector by dividing by the fourth value.

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

Returns vector components.

const double* SbVec4d::getValue (  )  const [inline]

Returns vector components.

double SbVec4d::length (  )  const

Returns geometric length of vector.

double SbVec4d::lengthSquared (  )  const [inline]

Returns square length of vector.

Faster than length().

void SbVec4d::negate (  ) 

Negates each component of vector in place.

double SbVec4d::normalize (  ) 

Changes vector to be unit length.

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

Component-wise scalar multiplication operator.

SbVec4d& SbVec4d::operator+= ( const SbVec4d u  ) 

Component-wise vector addition operator.

SbVec4d SbVec4d::operator- (  )  const

Nondestructive unary negation - returns a new vector.

SbVec4d& SbVec4d::operator-= ( const SbVec4d u  ) 

Component-wise vector subtraction operator.

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

Component-wise scalar division operator.

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

Accesses indexed component of vector.

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

Accesses indexed component of vector.

SbVec4d& SbVec4d::setValue ( const SbVec4f vec4f  )  [inline]

Sets value of vector from a single precision vector.

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

Sets the vector components.

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

Sets the vector components.


Friends And Related Function Documentation

int operator!= ( const SbVec4d v1,
const SbVec4d v2 
) [friend]

Inequality comparison operator.

SbVec4d operator* ( double  d,
const SbVec4d v 
) [friend]

Component-wise binary scalar multiplication operator.

SbVec4d operator* ( const SbVec4d v,
double  d 
) [friend]

Component-wise binary scalar multiplication operator.

SbVec4d operator+ ( const SbVec4d v1,
const SbVec4d v2 
) [friend]

Component-wise binary vector addition operator.

SbVec4d operator- ( const SbVec4d v1,
const SbVec4d v2 
) [friend]

Component-wise binary vector subtraction operator.

SbVec4d operator/ ( const SbVec4d v,
double  d 
) [friend]

Component-wise binary scalar division operator.

std::ostream& operator<< ( std::ostream &  os,
const SbVec4d v 
) [friend]

Writes the vector to the specified output stream.

int operator== ( const SbVec4d v1,
const SbVec4d v2 
) [friend]

Equality comparison operator.


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

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/