# SbVec2s Class Reference
[Base classes]

`#include <Inventor/SbLinear.h>`

List of all members.

## Detailed Description

The SbVec2s class is a 2 dimensional vector with short integer 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 integer arithmetic operations.

See also:
  SbVec3s, SbVec2f, SbVec3f, SbVec4f.

## Public Member Functions

| SbVec2s (void)
| SbVec2s (const short v[2])
| SbVec2s (const short x, const short y)
int32_t | dot (const SbVec2s &v) const
const short * | getValue (void) const
void | getValue (short &x, short &y) const
void | negate (void)
SbVec2s & | setValue (const short v[2])
SbVec2s & | setValue (short x, short y)
short & | operator[] (const int i)
const short & | operator[] (const int i) const
SbVec2s & | operator *= (int d)
SbVec2s & | operator *= (double d)
SbVec2s & | operator/= (int d)
SbVec2s & | operator/= (double d)
SbVec2s & | operator+= (const SbVec2s &u)
SbVec2s & | operator-= (const SbVec2s &u)
SbVec2s | operator- (void) const
void | print (FILE *fp) const

## Friends

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

## Constructor & Destructor Documentation

SbVec2s::SbVec2s | ( | void |  | ) |

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

SbVec2s::SbVec2s | ( | const short | v[2] | ) |

| Constructs an SbVec2s instance with initial values from v.

SbVec2s::SbVec2s | ( | const short | x,
|  | const short | y
| ) |

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

## Member Function Documentation

int32_t SbVec2s::dot | ( | const SbVec2s & | v | ) | const

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

const short * SbVec2s::getValue | ( | void |  | ) | const

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

See also:
  setValue().

void SbVec2s::getValue | ( | short & | x,
|  | short & | y
| ) | const

Returns the x and y coordinates of the vector.

See also:
  setValue().

void SbVec2s::negate | ( | void |  | ) |

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

SbVec2s & SbVec2s::setValue | ( | const short | v[2] | ) |

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

See also:
  getValue().

SbVec2s & SbVec2s::setValue | ( | short | x,
|  | short | y
| ) |

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

See also:
  getValue().

short & SbVec2s::operator[] | ( | const int | i | ) |

Index operator. Returns modifiable x or y coordinate.

See also:
  getValue() and setValue().

const short & SbVec2s::operator[] | ( | const int | i | ) | const

Index operator. Returns x or y coordinate.

See also:
  getValue().

SbVec2s & SbVec2s::operator *= | ( | int | d | ) |

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

SbVec2s & SbVec2s::operator *= | ( | double | d | ) |

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

SbVec2s & SbVec2s::operator/= | ( | int | d | ) |

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

SbVec2s & SbVec2s::operator/= | ( | double | d | ) |

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

SbVec2s & SbVec2s::operator+= | ( | const SbVec2s & | u | ) |

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

SbVec2s & SbVec2s::operator-= | ( | const SbVec2s & | u | ) |

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

SbVec2s SbVec2s::operator- | ( | void |  | ) | const

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

See also:
  negate().

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

## Friends And Related Function Documentation

SbVec2s operator * | ( | const SbVec2s & | v,
|  | int | d
| ) | `[friend]`

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

SbVec2s operator * | ( | const SbVec2s & | v,
|  | double | d
| ) | `[friend]`

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

SbVec2s operator * | ( | int | d,
|  | const SbVec2s & | v
| ) | `[friend]`

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

SbVec2s operator * | ( | double | d,
|  | const SbVec2s & | v
| ) | `[friend]`

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

SbVec2s operator/ | ( | const SbVec2s & | v,
|  | int | d
| ) | `[friend]`

| Returns an SbVec2s instance which is the components of vector v divided on d.

SbVec2s operator/ | ( | const SbVec2s & | v,
|  | double | d
| ) | `[friend]`

| Returns an SbVec2s instance which is the components of vector v divided on d.

SbVec2s operator+ | ( | const SbVec2s & | v1,
|  | const SbVec2s & | v2
| ) | `[friend]`

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

SbVec2s operator- | ( | const SbVec2s & | v1,
|  | const SbVec2s & | v2
| ) | `[friend]`

| Returns an SbVec2s instance which is vector v2 subtracted from vector v1.

int operator== | ( | const SbVec2s & | v1,
|  | const SbVec2s & | v2
| ) | `[friend]`

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

int operator!= | ( | const SbVec2s & | v1,
|  | const SbVec2s & | v2
| ) | `[friend]`

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

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

- SbVec2s.h
- SbVec2s.cpp