SbVec4d

Langue: en

Autres versions - même langue

Version: 326127 (ubuntu - 08/07/09)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

SbVec4d -

SYNOPSIS


#include <Inventor/SbVec4d.h>

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:

SbVec2f, SbVec2d, SbVec3f, SbVec3d, SbVec4f

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)

Constructor & Destructor Documentation

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.

Since:

Coin-2.5

Member Function Documentation

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

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

References vec.

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.

See also:

setValue().

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

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

See also:

setValue().

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.

Since:

Coin-2.5

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.

See also:

getValue().

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.

See also:

getValue().

SbVec4d & SbVec4d::setValue (const SbVec4f & v)

Set new value from an SbVec4f instance. Returns reference to self.

Since:

Coin-2.5

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

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

See also:

getValue() and setValue().

References SoDebugError::postWarning().

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

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

See also:

getValue() and setValue().

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().

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

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

References vec.

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

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

References vec.

SbVec4d SbVec4d::operator- (void) const

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

See also:

negate().

References SbVec4d().

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.

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

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

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

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

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

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

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

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

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

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

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

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

See also:

equals().

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

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

See also:

equals().

Author

Generated automatically by Doxygen for Coin from the source code.