SbVec4d3
The sbvec4d class is a 4 dimensional vector with double precision floating point coordinates.
Usage
#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)
SbVec4d & setValue (const double v[4])
SbVec4d & setValue (double x, double y, double z, double w)
SbVec4d & setValue (const SbVec4f &v)
SbVec4d & setValue (const SbVec4b &v)
SbVec4d & setValue (const SbVec4s &v)
SbVec4d & setValue (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)
SbVec4d & operator*= (double d)
SbVec4d & operator/= (double d)
SbVec4d & operator+= (const SbVec4d &v)
SbVec4d & operator-= (const SbVec4d &v)
SbVec4d operator- (void) const
void print (FILE *fp) const
Protected Attributes
double vec [4]
Related Symbols
(Note that these are not member symbols.) 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 homogeneous vector (with the 4 components usually referred to as <x, y, z, w>) as well as simple double precision floating point arithmetic operations.
See also
SbVec2s, SbVec2f, SbVec2d, SbVec3s, SbVec3f, SbVec3d, SbVec4f.
Constructor & Destructor Documentation
SbVec4d::SbVec4d (void ) [inline]
The default constructor does nothing. The vector coordinates will be uninitialized until a call the setValue().
SbVec4d::SbVec4d (const double v[4]) [inline]
Constructs an SbVec4d instance with initial values from v.
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::SbVec4d (const SbVec4f & v) [inline], [explicit]
Constructs an SbVec4d instance from an SbVec4f instance.
SbVec4d::SbVec4d (const SbVec4b & v) [inline], [explicit]
Constructs an SbVec4d instance from an SbVec4b instance.
Since
Coin 2.5
SbVec4d::SbVec4d (const SbVec4s & v) [inline], [explicit]
Constructs an SbVec4d instance from an SbVec4s instance.
Since
Coin 2.5
SbVec4d::SbVec4d (const SbVec4i32 & v) [inline], [explicit]
Constructs an SbVec4d instance from an SbVec4i32 instance.
Since
Coin 2.5
Member Function Documentation
SbVec4d & SbVec4d::setValue (const double v[4]) [inline]
Set new coordinates for the vector from v. Returns reference to self.
See also
getValue().
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().
SbVec4d & SbVec4d::setValue (const SbVec4f & v)
Since
Coin 2.5
SbVec4d & SbVec4d::setValue (const SbVec4b & v)
Since
Coin 2.5
SbVec4d & SbVec4d::setValue (const SbVec4s & v)
Since
Coin 2.5
SbVec4d & SbVec4d::setValue (const SbVec4i32 & v)
Since
Coin 2.5
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().
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().
double & SbVec4d::operator[] (int i) [inline]
Index operator. Returns modifiable x, y, z or w component of vector.
See also
getValue() and setValue().
const double & SbVec4d::operator[] (int i) const [inline]
Index operator. Returns x, y, z or w component of vector.
See also
getValue() and setValue().
double SbVec4d::dot (const SbVec4d & v) const [inline]
Calculates and returns the result of taking the dot product of this vector and v.
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.
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.
double SbVec4d::length (void ) const
Return the length of the vector in 4D space.
double SbVec4d::sqrLength (void ) const [inline]
Return the square of the length of the vector in 4D space.
void SbVec4d::negate (void ) [inline]
Negate the vector.
double SbVec4d::normalize (void )
Normalize the vector to unit length. Return value is the original length of the vector before normalization.
SbVec4d & SbVec4d::operator*= (double d) [inline]
Multiply components of vector with value d. Returns reference to self.
SbVec4d & SbVec4d::operator/= (double d) [inline]
Divides components of vector with value d. Returns reference to self.
SbVec4d & SbVec4d::operator+= (const SbVec4d & v) [inline]
Adds this vector and vector v. Returns reference to self.
SbVec4d & SbVec4d::operator-= (const SbVec4d & v) [inline]
Subtracts vector v from this vector. Returns reference to self.
SbVec4d SbVec4d::operator- (void ) const [inline]
Non-destructive negation operator. Returns a new SbVec4d instance which has all components negated.
See also
negate().
void SbVec4d::print (FILE * fp) const
Dump the state of this object to the fp file stream. Only works in debug version of library, method does nothing in an optimized build.
Releases
5 releases since Debian 5.0 (Lenny); the text changed 4 times.