Coin: SbVec2d Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

SbVec2d Class Reference
Base Classes

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

`#include <Inventor/SbVec2d.h>`

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

## Protected Attributes
double | vec [2]

## Related Symbols
(Note that these are not member symbols.)
SbVec2d | operator* (const SbVec2d &v, double d)
SbVec2d | operator* (double d, const SbVec2d &v)
SbVec2d | operator/ (const SbVec2d &v, double d)
SbVec2d | operator+ (const SbVec2d &v1, const SbVec2d &v2)
SbVec2d | operator- (const SbVec2d &v1, const SbVec2d &v2)
int | operator== (const SbVec2d &v1, const SbVec2d &v2)
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

## ◆ 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 | ( | double | x,
|  | double | y )
| inline

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

See also
  getValue().

## ◆ 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 SbVec2b & | v | ) |

Sets the value from an SbVec2b 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 | ( | const SbVec2i32 & | v | ) |

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

Since
  Coin 2.5

## ◆ getValue() [1/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().

## ◆ getValue() [2/2]

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

Returns the x and y coordinates of the vector.

See also
  setValue().

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

## ◆ 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.

## ◆ dot()

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

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

## ◆ length()

double SbVec2d::length | ( | void |  | ) | const

Return length of vector.

## ◆ sqrLength()

double SbVec2d::sqrLength | ( | void |  | ) | const
| inline

Returns the square of the length of the vector.

## ◆ normalize()

double SbVec2d::normalize | ( | void |  | ) |

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

## ◆ negate()

void SbVec2d::negate | ( | void |  | ) |
| inline

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

## ◆ operator*=()

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

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

## ◆ operator/=()

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

Divides 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-= | ( | const SbVec2d & | v | ) |
| inline

Subtracts vector u from this vector. 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().

## ◆ 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.

## Friends And Related Symbol Documentation

## ◆ 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 & | v,
|  | double | d )
| related

Returns an SbVec2d instance which is the components of vector v divided on the scalar factor 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==()

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

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

See also
  equals().

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

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

- SbVec2d.h
- SbVec2d.cpp