CrystalSpace

Public API Reference

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)
 Add two vectors.
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.

Referenced by csShaderVariable::GetValue().

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]

Add two vectors.

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


The documentation for this class was generated from the following file:
Generated for Crystal Space 1.0.2 by doxygen 1.4.7