# b2Vec2 Struct Reference

A 2D column vector. More...

`#include <b2Math.h>`

List of all members.

## Public Member Functions
| b2Vec2 ()
| Default constructor does nothing (for performance).
| b2Vec2 (float32 x, float32 y)
| Construct using coordinates.
void | SetZero ()
| Set this vector to all zeros.
void | Set (float32 x_, float32 y_)
| Set this vector to some specified coordinates.
b2Vec2 | operator- () const
| Negate this vector.
float32 | operator() (int32 i) const
| Read from and indexed element.
float32 & | operator() (int32 i)
| Write to an indexed element.
void | operator+= (const b2Vec2 &v)
| Add a vector to this vector.
void | operator-= (const b2Vec2 &v)
| Subtract a vector from this vector.
void | operator*= (float32 a)
| Multiply this vector by a scalar.
float32 | Length () const
| Get the length of this vector (the norm).
float32 | LengthSquared () const
float32 | Normalize ()
| Convert this vector into a unit vector. Returns the length.
bool | IsValid () const
| Does this vector contain finite coordinates?
## Public Attributes
float32 | x
float32 | y

## Detailed Description

A 2D column vector.

## Constructor & Destructor Documentation

b2Vec2::b2Vec2 | ( |  | ) | `[inline]`

Default constructor does nothing (for performance).

b2Vec2::b2Vec2 | ( | float32 | x,
|  | float32 | y |
| ) |  |  | `[inline]`

Construct using coordinates.

## Member Function Documentation

bool b2Vec2::IsValid | ( |  | ) | const`[inline]`

Does this vector contain finite coordinates?

float32 b2Vec2::Length | ( |  | ) | const`[inline]`

Get the length of this vector (the norm).

float32 b2Vec2::LengthSquared | ( |  | ) | const`[inline]`

Get the length squared. For performance, use this instead of b2Vec2::Length (if possible).

float32 b2Vec2::Normalize | ( |  | ) | `[inline]`

Convert this vector into a unit vector. Returns the length.

float32& b2Vec2::operator() | ( | int32 | i | ) | `[inline]`

Write to an indexed element.

float32 b2Vec2::operator() | ( | int32 | i | ) | const`[inline]`

Read from and indexed element.

void b2Vec2::operator*= | ( | float32 | a | ) | `[inline]`

Multiply this vector by a scalar.

void b2Vec2::operator+= | ( | const b2Vec2 & | v | ) | `[inline]`

Add a vector to this vector.

b2Vec2 b2Vec2::operator- | ( |  | ) | const`[inline]`

Negate this vector.

void b2Vec2::operator-= | ( | const b2Vec2 & | v | ) | `[inline]`

Subtract a vector from this vector.

void b2Vec2::Set | ( | float32 | x_,
|  | float32 | y_ |
| ) |  |  | `[inline]`

Set this vector to some specified coordinates.

void b2Vec2::SetZero | ( |  | ) | `[inline]`

Set this vector to all zeros.

## Member Data Documentation

float32 b2Vec2::x

float32 b2Vec2::y

The documentation for this struct was generated from the following file:

- Box2D/Box2D/Common/b2Math.h