Coin  4.0.3
Coin3D core library
Loading...
Searching...
No Matches
SbVec2d Class Reference

The SbVec2d class is a 2 dimensional vector with double precision floating point coordinates. More...

#include <Inventor/SbVec2d.h>

Public Member Functions

 SbVec2d (const double v[2])
 
 SbVec2d (const SbVec2b &v)
 
 SbVec2d (const SbVec2f &v)
 
 SbVec2d (const SbVec2i32 &v)
 
 SbVec2d (const SbVec2s &v)
 
 SbVec2d (double x, double y)
 
 SbVec2d (void)
 
double dot (const SbVec2d &v) const
 
SbBool equals (const SbVec2d &v, double tolerance) const
 
void getValue (double &x, double &y) const
 
const double * getValue (void) const
 
double length (void) const
 
void negate (void)
 
double normalize (void)
 
SbVec2doperator*= (double d)
 
SbVec2doperator+= (const SbVec2d &v)
 
SbVec2d operator- (void) const
 
SbVec2doperator-= (const SbVec2d &v)
 
SbVec2doperator/= (double d)
 
double & operator[] (int i)
 
const double & operator[] (int i) const
 
void print (FILE *fp) const
 
SbVec2dsetValue (const double v[2])
 
SbVec2dsetValue (const SbVec2b &v)
 
SbVec2dsetValue (const SbVec2f &v)
 
SbVec2dsetValue (const SbVec2i32 &v)
 
SbVec2dsetValue (const SbVec2s &v)
 
SbVec2dsetValue (double x, double y)
 
double sqrLength (void) const
 

Protected Attributes

double vec [2]
 

Related Symbols

(Note that these are not member symbols.)

int operator!= (const SbVec2d &v1, const SbVec2d &v2)
 
SbVec2d operator* (const SbVec2d &v, double d)
 
SbVec2d operator* (double d, const SbVec2d &v)
 
SbVec2d operator+ (const SbVec2d &v1, const SbVec2d &v2)
 
SbVec2d operator- (const SbVec2d &v1, const SbVec2d &v2)
 
SbVec2d operator/ (const SbVec2d &v, double d)
 
int operator== (const SbVec2d &v1, const SbVec2d &v2)
 

Detailed Description

The SbVec2d class is a 2 dimensional vector with double precision floating point coordinates.

This vector class is used by many other classes in Coin. It provides storage for a vector in 2 dimensions as well as simple floating point arithmetic operations on this vector.

See also
SbVec2s, SbVec2f, SbVec3s, SbVec3f, SbVec3d, SbVec4f, SbVec4d.

Constructor & Destructor Documentation

◆ SbVec2d() [1/7]

SbVec2d::SbVec2d ( void )
inline

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

◆ SbVec2d() [2/7]

SbVec2d::SbVec2d ( const double v[2])
inline

Constructs an SbVec2d instance with initial values from v.

◆ SbVec2d() [3/7]

SbVec2d::SbVec2d ( double x,
double y )
inline

Constructs an SbVec2d instance with the initial vector endpoints from x and y.

◆ SbVec2d() [4/7]

SbVec2d::SbVec2d ( const SbVec2f & v)
inlineexplicit

Constructs an SbVec2d instance from an SbVec2f instance.

Since
Coin 2.5

◆ SbVec2d() [5/7]

SbVec2d::SbVec2d ( const SbVec2b & v)
inlineexplicit

Constructs an SbVec2d instance from an SbVec2b instance.

Since
Coin 2.5

◆ SbVec2d() [6/7]

SbVec2d::SbVec2d ( const SbVec2s & v)
inlineexplicit

Constructs an SbVec2d instance from an SbVec2s instance.

Since
Coin 2.5

◆ SbVec2d() [7/7]

SbVec2d::SbVec2d ( const SbVec2i32 & v)
inlineexplicit

Constructs an SbVec2d instance from an SbVec2i32 instance.

Since
Coin 2.5

Member Function Documentation

◆ dot()

double SbVec2d::dot ( const SbVec2d & v) const
inline

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

◆ equals()

SbBool SbVec2d::equals ( const SbVec2d & 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.

◆ getValue() [1/2]

void SbVec2d::getValue ( double & x,
double & y ) const
inline

Returns the x and y coordinates of the vector.

See also
setValue().

◆ getValue() [2/2]

const double * SbVec2d::getValue ( void ) const
inline

Returns a pointer to an array of two double containing the x and y coordinates of the vector.

See also
setValue().

◆ length()

double SbVec2d::length ( void ) const

Return length of vector.

◆ negate()

void SbVec2d::negate ( void )
inline

Negate the vector (i.e. point it in the opposite direction).

◆ normalize()

double SbVec2d::normalize ( void )

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

◆ operator*=()

SbVec2d & SbVec2d::operator*= ( double d)
inline

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

◆ operator+=()

SbVec2d & SbVec2d::operator+= ( const SbVec2d & v)
inline

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

◆ operator-()

SbVec2d SbVec2d::operator- ( void ) const
inline

Non-destructive negation operator. Returns a new SbVec2d instance which points in the opposite direction of this vector.

See also
negate().

◆ operator-=()

SbVec2d & SbVec2d::operator-= ( const SbVec2d & v)
inline

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

◆ operator/=()

SbVec2d & SbVec2d::operator/= ( double d)
inline

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

◆ operator[]() [1/2]

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

Index operator. Returns modifiable x or y coordinate.

See also
getValue() and setValue().

◆ operator[]() [2/2]

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

Index operator. Returns x or y coordinate.

See also
getValue().

◆ print()

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

◆ setValue() [1/6]

SbVec2d & SbVec2d::setValue ( const double v[2])
inline

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

See also
getValue().

◆ setValue() [2/6]

SbVec2d & SbVec2d::setValue ( const SbVec2b & v)

Sets the value from an SbVec2b instance. Returns reference to itself.

Since
Coin 2.5

◆ setValue() [3/6]

SbVec2d & SbVec2d::setValue ( const SbVec2f & v)

Sets the value from an SbVec2f instance. Returns reference to itself.

Since
Coin 2.5

◆ setValue() [4/6]

SbVec2d & SbVec2d::setValue ( const SbVec2i32 & v)

Sets the value from an SbVec2i32 instance. Returns reference to itself.

Since
Coin 2.5

◆ setValue() [5/6]

SbVec2d & SbVec2d::setValue ( const SbVec2s & v)

Sets the value from an SbVec2s instance. Returns reference to itself.

Since
Coin 2.5

◆ setValue() [6/6]

SbVec2d & SbVec2d::setValue ( double x,
double y )
inline

Set new x and y coordinates for the vector. Returns reference to self.

See also
getValue().

◆ sqrLength()

double SbVec2d::sqrLength ( void ) const
inline

Returns the square of the length of the vector.

Friends And Related Symbol Documentation

◆ operator!=()

int operator!= ( const SbVec2d & v1,
const SbVec2d & v2 )
related

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

See also
equals().

◆ operator*() [1/2]

SbVec2d operator* ( const SbVec2d & v,
double d )
related

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

◆ operator*() [2/2]

SbVec2d operator* ( double d,
const SbVec2d & v )
related

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

◆ operator+()

SbVec2d operator+ ( const SbVec2d & v1,
const SbVec2d & v2 )
related

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

◆ operator-()

SbVec2d operator- ( const SbVec2d & v1,
const SbVec2d & v2 )
related

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

◆ operator/()

SbVec2d operator/ ( const SbVec2d & v,
double d )
related

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

◆ operator==()

int operator== ( const SbVec2d & v1,
const SbVec2d & v2 )
related

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

See also
equals().

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