# csVector2 Class Reference [Geometry utilities]

A 2D vector. More...

`#include <csgeom/vector2.h>`

List of all members.

## Public Member Functions

csVector2 (const csVector2 &o)
Copyconstructor.
csVector2 (float x, float y)
Make a new vector and initialize with the given values.
csVector2 (float v)
Make a new vector and initialize with the given values.
csVector2 ()
Make a new vector. No initialization is done.
csString Description () const
Return a textual representation of the vector in the form "x,y".
void Get (float *v)
Get the value of this vector.
float IsLeft (const csVector2 &p0, const csVector2 &p1)
Test if this point is left of the line through p0 and p1.
float Norm () const
Return the norm (magnitude) of this vector.
csVector2operator *= (float f)
Multiply this vector by a scalar.
csVector2 operator+ () const
Unary + operator.
csVector2operator+= (const csVector2 &v)
Add another vector to this vector.
csVector2 operator- () const
Unary - operator.
csVector2operator-= (const csVector2 &v)
Subtract another vector from this vector.
csVector2operator/= (float f)
Divide this vector by a scalar.
float & operator[] (int n)
Returns n-th component of the vector.
float operator[] (int n) const
Returns n-th component of the vector.
void Rotate (float angle)
Rotate vector around the origin by a given angle in radians.
void Set (float v)
Set the value of this vector so that all components are the same.
void Set (float const *v)
Set the value of this vector.
void Set (csVector2 const &v)
Set vector to given values.
void Set (float ix, float iy)
Set vector to given values.
float SquaredNorm () const
Return the squared norm (magnitude) of this vector.

## Static Public Member Functions

static float Norm (csVector2 const &v)
Return the norm (magnitude) of a 2D vector.

## Public Attributes

float x
X component of vector.
float y
Y component of vector.

## Friends

csVector2 operator * (float f, const csVector2 &v)
Multiply a vector and a scalar.
csVector2 operator * (const csVector2 &v, float f)
Multiply a vector and a scalar.
float operator * (const csVector2 &v1, const csVector2 &v2)
Take the dot product of two vectors.
bool operator!= (const csVector2 &v1, const csVector2 &v2)
Check if two vectors are not equal.
csVector2 operator+ (const csVector2 &v1, const csVector2 &v2)
csVector2 operator- (const csVector2 &v1, const csVector2 &v2)
Subtract two vectors.
csVector2 operator/ (const csVector2 &v, float f)
Divide a vector by a scalar.
bool operator< (const csVector2 &v, float f)
Test if each component of a vector is less than a small epsilon value.
bool operator== (const csVector2 &v1, const csVector2 &v2)
Check if two vectors are equal.
bool operator> (float f, const csVector2 &v)
Test if each component of a vector is greater than a small epsilon value.

## Detailed Description

A 2D vector.

Definition at line 37 of file vector2.h.

## Constructor & Destructor Documentation

 csVector2::csVector2 ( ) ` [inline]`

Make a new vector. No initialization is done.

Definition at line 46 of file vector2.h.

 csVector2::csVector2 ( float v ) ` [inline]`

Make a new vector and initialize with the given values.

Definition at line 49 of file vector2.h.

 csVector2::csVector2 ( float x, float y ) ` [inline]`

Make a new vector and initialize with the given values.

Definition at line 54 of file vector2.h.

 csVector2::csVector2 ( const csVector2 & o ) ` [inline]`

Copyconstructor.

Definition at line 59 of file vector2.h.

## Member Function Documentation

 csString csVector2::Description ( ) const

Return a textual representation of the vector in the form "x,y".

 void csVector2::Get ( float * v ) ` [inline]`

Get the value of this vector.

Definition at line 81 of file vector2.h.

 float csVector2::IsLeft ( const csVector2 & p0, const csVector2 & p1 ) ` [inline]`

Test if this point is left of the line through p0 and p1.

Returns:
>0 if this point is left, 0 if on the line and <0 if right.

Definition at line 100 of file vector2.h.

References x, and y.

 float csVector2::Norm ( ) const

Return the norm (magnitude) of this vector.

 static float csVector2::Norm ( csVector2 const & v ) ` [static]`

Return the norm (magnitude) of a 2D vector.

Referenced by csPlane2::Normalize().

 csVector2& csVector2::operator *= ( float f ) ` [inline]`

Multiply this vector by a scalar.

Definition at line 114 of file vector2.h.

 csVector2 csVector2::operator+ ( ) const` [inline]`

Unary + operator.

Definition at line 126 of file vector2.h.

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

Add another vector to this vector.

Definition at line 106 of file vector2.h.

References x, and y.

 csVector2 csVector2::operator- ( ) const` [inline]`

Unary - operator.

Definition at line 129 of file vector2.h.

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

Subtract another vector from this vector.

Definition at line 110 of file vector2.h.

References x, and y.

 csVector2& csVector2::operator/= ( float f ) ` [inline]`

Divide this vector by a scalar.

Definition at line 117 of file vector2.h.

 float& csVector2::operator[] ( int n ) ` [inline]`

Returns n-th component of the vector.

Definition at line 168 of file vector2.h.

 float csVector2::operator[] ( int n ) const` [inline]`

Returns n-th component of the vector.

Definition at line 166 of file vector2.h.

 void csVector2::Rotate ( float angle )

Rotate vector around the origin by a given angle in radians.

 void csVector2::Set ( float v ) ` [inline]`

Set the value of this vector so that all components are the same.

Definition at line 78 of file vector2.h.

 void csVector2::Set ( float const * v ) ` [inline]`

Set the value of this vector.

Definition at line 75 of file vector2.h.

 void csVector2::Set ( csVector2 const & v ) ` [inline]`

Set vector to given values.

Definition at line 71 of file vector2.h.

References x, and y.

 void csVector2::Set ( float ix, float iy ) ` [inline]`

Set vector to given values.

Definition at line 67 of file vector2.h.

 float csVector2::SquaredNorm ( ) const` [inline]`

Return the squared norm (magnitude) of this vector.

Definition at line 90 of file vector2.h.

Referenced by csPlane2::SquaredDistance().

## Friends And Related Function Documentation

 csVector2 operator * ( float f, const csVector2 & v ) ` [friend]`

Multiply a vector and a scalar.

 csVector2 operator * ( const csVector2 & v, float f ) ` [friend]`

Multiply a vector and a scalar.

 float operator * ( const csVector2 & v1, const csVector2 & v2 ) ` [friend]`

Take the dot product of two vectors.

 bool operator!= ( const csVector2 & v1, const csVector2 & v2 ) ` [friend]`

Check if two vectors are not equal.

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

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

Subtract two vectors.

 csVector2 operator/ ( const csVector2 & v, float f ) ` [friend]`

Divide a vector by a scalar.

 bool operator< ( const csVector2 & v, float f ) ` [friend]`

Test if each component of a vector is less than a small epsilon value.

Definition at line 157 of file vector2.h.

 bool operator== ( const csVector2 & v1, const csVector2 & v2 ) ` [friend]`

Check if two vectors are equal.

 bool operator> ( float f, const csVector2 & v ) ` [friend]`

Test if each component of a vector is greater than a small epsilon value.

Definition at line 161 of file vector2.h.

## Member Data Documentation

 float csVector2::x

 float csVector2::y

Y component of vector.

Definition at line 43 of file vector2.h.

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

Generated for Crystal Space 1.0.2 by doxygen 1.4.7