![]() |
http://www.sim.no http://www.coin3d.org |
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 (const double x, const double y, const double z, const double w) | |
SbVec4d (const SbVec4f &v) | |
double | dot (const SbVec4d &v) const |
SbBool | equals (const SbVec4d &v, const double tolerance) const |
void | getReal (SbVec3d &v) const |
const double * | getValue (void) const |
void | getValue (double &x, double &y, double &z, double &w) const |
double | length (void) const |
double | sqrLength (void) const |
void | negate (void) |
double | normalize (void) |
SbVec4d & | setValue (const double v[4]) |
SbVec4d & | setValue (const double x, const double y, const double z, const double w) |
SbVec4d & | setValue (const SbVec4f &v) |
double & | operator[] (const int i) |
const double & | operator[] (const int i) const |
SbVec4d & | operator*= (const double d) |
SbVec4d & | operator/= (const double d) |
SbVec4d & | operator+= (const SbVec4d &u) |
SbVec4d & | operator-= (const SbVec4d &u) |
SbVec4d | operator- (void) const |
void | print (FILE *fp) const |
Friends | |
SbVec4d | operator* (const SbVec4d &v, const double d) |
SbVec4d | operator* (const double d, const SbVec4d &v) |
SbVec4d | operator/ (const SbVec4d &v, const 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) |
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.
SbVec4d::SbVec4d | ( | void | ) |
The default constructor does nothing. The vector coordinates will be uninitialized until a call the setValue().
Referenced by operator-().
SbVec4d::SbVec4d | ( | const double | v[4] | ) |
Constructs an SbVec4d instance with initial values from v.
SbVec4d::SbVec4d | ( | const double | x, | |
const double | y, | |||
const double | z, | |||
const double | w | |||
) |
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 with initial values from the vector v.
double SbVec4d::dot | ( | const SbVec4d & | v | ) | const |
Calculates and returns the result of taking the dot product of this vector and v.
SbBool SbVec4d::equals | ( | const SbVec4d & | v, | |
const 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.
References SoDebugError::postWarning().
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.
References SoDebugError::postWarning().
const double * SbVec4d::getValue | ( | void | ) | const |
Returns a pointer to an array of four doubles containing the x, y, z and w coordinates of the vector.
void SbVec4d::getValue | ( | double & | x, | |
double & | y, | |||
double & | z, | |||
double & | w | |||
) | const |
Returns the x, y, z and w coordinates of the vector.
double SbVec4d::length | ( | void | ) | const |
Return the length of the vector in 4D space.
Referenced by normalize().
double SbVec4d::sqrLength | ( | void | ) | const |
Return the square of the length of the vector in 4D space.
void SbVec4d::negate | ( | void | ) |
Negate the vector.
double SbVec4d::normalize | ( | void | ) |
Normalize the vector to unit length. Return value is the original length of the vector before normalization.
References length(), operator/=(), and SoDebugError::postWarning().
SbVec4d & SbVec4d::setValue | ( | const double | v[4] | ) |
Set new coordinates for the vector from v. Returns reference to self.
SbVec4d & SbVec4d::setValue | ( | const double | x, | |
const double | y, | |||
const double | z, | |||
const double | w | |||
) |
Set new coordinates for the vector. Returns reference to self.
Set new value from an SbVec4f instance. Returns reference to self.
double & SbVec4d::operator[] | ( | const int | i | ) |
Index operator. Returns modifiable x, y, z or w component of vector.
References SoDebugError::postWarning().
const double & SbVec4d::operator[] | ( | const int | i | ) | const |
Index operator. Returns x, y, z or w component of vector.
References SoDebugError::postWarning().
SbVec4d & SbVec4d::operator*= | ( | const double | d | ) |
Multiply components of vector with value d. Returns reference to self.
SbVec4d & SbVec4d::operator/= | ( | const double | d | ) |
Divides components of vector with value d. Returns reference to self.
References SoDebugError::postWarning().
Referenced by normalize().
Adds this vector and vector u. Returns reference to self.
Subtracts vector u from this vector. Returns reference to self.
SbVec4d SbVec4d::operator- | ( | void | ) | const |
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.
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Mon Mar 29 13:49:16 2010 for Coin by Doxygen. 1.6.1