SbVec4f

Langue: en

Autres versions - même langue

Version: 273251 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

SbVec4f - The SbVec4f class is a 4 dimensional vector with floating point coordinates.

This vector class is used 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 floating point arithmetic operations.

SYNOPSIS


#include <Inventor/SbLinear.h>

Inherited by SbColor4f.

Public Member Functions


SbVec4f (void)

SbVec4f (const float v[4])

SbVec4f (float x, float y, float z, float w)

SbVec4f (const SbVec4d &v)

SbVec4f (const SbVec4b &v)

SbVec4f (const SbVec4s &v)

SbVec4f (const SbVec4i32 &v)

SbVec4f & setValue (const float v[4])

SbVec4f & setValue (float x, float y, float z, float w)

SbVec4f & setValue (const SbVec4d &v)

SbVec4f & setValue (const SbVec4b &v)

SbVec4f & setValue (const SbVec4s &v)

SbVec4f & setValue (const SbVec4i32 &v)

const float * getValue (void) const

void getValue (float &x, float &y, float &z, float &w) const

float & operator[] (int i)

const float & operator[] (int i) const

SbBool equals (const SbVec4f &v, float tolerance) const

float dot (const SbVec4f &v) const

void getReal (SbVec3f &v) const

float length (void) const

float sqrLength (void) const

void negate (void)

float normalize (void)

SbVec4f & operator*= (float d)

SbVec4f & operator/= (float d)

SbVec4f & operator+= (const SbVec4f &v)

SbVec4f & operator-= (const SbVec4f &v)

SbVec4f operator- (void) const

void print (FILE *fp) const

Protected Attributes


float vec [4]

(Note that these are not member functions.)
SbVec4f operator* (const SbVec4f &v, float d)

SbVec4f operator* (float d, const SbVec4f &v)

SbVec4f operator/ (const SbVec4f &v, float d)

SbVec4f operator+ (const SbVec4f &v1, const SbVec4f &v2)

SbVec4f operator- (const SbVec4f &v1, const SbVec4f &v2)

int operator== (const SbVec4f &v1, const SbVec4f &v2)

int operator!= (const SbVec4f &v1, const SbVec4f &v2)

Detailed Description

The SbVec4f class is a 4 dimensional vector with floating point coordinates.

This vector class is used 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 floating point arithmetic operations.

See also:

SbVec2s, SbVec2f, SbVec2d, SbVec3s, SbVec3f, SbVec3d, SbVec4d.

Constructor & Destructor Documentation

SbVec4f::SbVec4f (void) [inline]

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

SbVec4f::SbVec4f (const float v[4]) [inline]

Constructs an SbVec4f instance with initial values from v.

SbVec4f::SbVec4f (float x, float y, float z, float w) [inline]

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

SbVec4f::SbVec4f (const SbVec4d & v) [inline, explicit]

Constructs an SbVec4f instance from an SbVec4d instance.

SbVec4f::SbVec4f (const SbVec4b & v) [inline, explicit]

Constructs an SbVec4f instance from an SbVec4b instance.

Since:

Coin 2.5

SbVec4f::SbVec4f (const SbVec4s & v) [inline, explicit]

Constructs an SbVec4f instance from an SbVec4s instance.

Since:

Coin 2.5

SbVec4f::SbVec4f (const SbVec4i32 & v) [inline, explicit]

Constructs an SbVec4f instance from an SbVec4i32 instance.

Since:

Coin 2.5

Member Function Documentation

SbVec4f & SbVec4f::setValue (const float v[4]) [inline]

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

See also:

getValue().

Reimplemented in SbColor4f.

SbVec4f & SbVec4f::setValue (float x, float y, float z, float w) [inline]

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

See also:

getValue().

Reimplemented in SbColor4f.

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

Sets the value from an SbVec4d instance.

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

Since:

Coin 2.5

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

Since:

Coin 2.5

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

Since:

Coin 2.5

const float * SbVec4f::getValue (void) const [inline]

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

See also:

setValue().

Reimplemented in SbColor4f.

void SbVec4f::getValue (float & x, float & y, float & z, float & w) const [inline]

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

See also:

setValue().

float & SbVec4f::operator[] (int i) [inline]

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

See also:

getValue() and setValue().

Reimplemented in SbColor4f.

const float & SbVec4f::operator[] (int i) const [inline]

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

See also:

getValue() and setValue().

Reimplemented in SbColor4f.

SbBool SbVec4f::equals (const SbVec4f & v, float 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.

float SbVec4f::dot (const SbVec4f & v) const [inline]

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

void SbVec4f::getReal (SbVec3f & 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.

float SbVec4f::length (void) const

Return the length of the vector in 4D space.

float SbVec4f::sqrLength (void) const [inline]

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

void SbVec4f::negate (void) [inline]

Negate the vector.

float SbVec4f::normalize (void)

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

SbVec4f & SbVec4f::operator*= (float d) [inline]

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

Reimplemented in SbColor4f.

SbVec4f & SbVec4f::operator/= (float d) [inline]

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

Reimplemented in SbColor4f.

SbVec4f & SbVec4f::operator+= (const SbVec4f & v) [inline]

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

SbVec4f & SbVec4f::operator-= (const SbVec4f & v) [inline]

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

SbVec4f SbVec4f::operator- (void) const [inline]

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

See also:

negate().

void SbVec4f::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.

SbVec4f operator* (const SbVec4f & v, float d) [related]

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

SbVec4f operator* (float d, const SbVec4f & v) [related]

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

SbVec4f operator/ (const SbVec4f & v, float d) [related]

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

SbVec4f operator+ (const SbVec4f & v1, const SbVec4f & v2) [related]

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

SbVec4f operator- (const SbVec4f & v1, const SbVec4f & v2) [related]

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

int operator== (const SbVec4f & v1, const SbVec4f & v2) [related]

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

See also:

equals().

int operator!= (const SbVec4f & v1, const SbVec4f & v2) [related]

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.