Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
Vector2 Class Reference

#include <vector2.h>

Public Member Functions

WWINLINE Vector2 (void)
 
WWINLINE Vector2 (const Vector2 &v)
 
WWINLINE Vector2 (float x, float y)
 
WWINLINE Vector2 (const float vector[2])
 
WWINLINE Vector2operator= (const Vector2 &v)
 
WWINLINE void Set (float x, float y)
 
WWINLINE void Set (const Vector2 &v)
 
WWINLINE float & operator[] (int i)
 
WWINLINE const float & operator[] (int i) const
 
WWINLINE void Normalize (void)
 
WWINLINE float Length (void) const
 
WWINLINE float Length2 (void) const
 
WWINLINE Vector2 operator- () const
 
WWINLINE Vector2 operator+ () const
 
WWINLINE Vector2operator+= (const Vector2 &v)
 
WWINLINE Vector2operator-= (const Vector2 &v)
 
WWINLINE Vector2operator*= (float k)
 
WWINLINE Vector2operator/= (float k)
 
WWINLINE void Rotate (float theta)
 
WWINLINE void Rotate (float s, float c)
 
WWINLINE bool Rotate_Towards_Vector (Vector2 &target, float max_theta, bool &positive_turn)
 
WWINLINE bool Rotate_Towards_Vector (Vector2 &target, float max_s, float max_c, bool &positive_turn)
 
WWINLINE bool Is_Valid (void) const
 
WWINLINE void Update_Min (const Vector2 &a)
 
WWINLINE void Update_Max (const Vector2 &a)
 
WWINLINE void Scale (float a, float b)
 
WWINLINE void Scale (const Vector2 &a)
 
 Vector2 (void)
 
 Vector2 (const Vector2 &v)
 
 Vector2 (float x, float y)
 
 Vector2 (const float vector[2])
 
Vector2operator= (const Vector2 &v)
 
void Set (float x, float y)
 
void Set (const Vector2 &v)
 
float & operator[] (int i)
 
const float & operator[] (int i) const
 
void Normalize (void)
 
float Length (void) const
 
float Length2 (void) const
 
Vector2 operator- () const
 
Vector2 operator+ () const
 
Vector2operator+= (const Vector2 &v)
 
Vector2operator-= (const Vector2 &v)
 
Vector2operator*= (float k)
 
Vector2operator/= (float k)
 
void Rotate (float theta)
 
void Rotate (float s, float c)
 
bool Rotate_Towards_Vector (Vector2 &target, float max_theta, bool &positive_turn)
 
bool Rotate_Towards_Vector (Vector2 &target, float max_s, float max_c, bool &positive_turn)
 
bool Is_Valid (void) const
 
void Update_Min (const Vector2 &a)
 
void Update_Max (const Vector2 &a)
 
void Scale (float a, float b)
 

Static Public Member Functions

static WWINLINE float Dot_Product (const Vector2 &a, const Vector2 &b)
 
static float Perp_Dot_Product (const Vector2 &a, const Vector2 &b)
 
static WWINLINE float Distance (const Vector2 &p1, const Vector2 &p2)
 
static WWINLINE float Quick_Distance (const Vector2 &p1, const Vector2 &p2)
 
static void Lerp (const Vector2 &a, const Vector2 &b, float t, Vector2 *set_result)
 
static float Dot_Product (const Vector2 &a, const Vector2 &b)
 
static float Perp_Dot_Product (const Vector2 &a, const Vector2 &b)
 
static float Distance (const Vector2 &p1, const Vector2 &p2)
 
static float Quick_Distance (const Vector2 &p1, const Vector2 &p2)
 
static void Lerp (const Vector2 &a, const Vector2 &b, float t, Vector2 *set_result)
 

Public Attributes

union { 
 
   float   X 
 
   float   U 
 
};  
 
union { 
 
   float   Y 
 
   float   V 
 
};  
 
union { 
 
   float   X 
 
   float   U 
 
};  
 
union { 
 
   float   Y 
 
   float   V 
 
};  
 

Friends

WWINLINE friend Vector2 operator* (const Vector2 &a, float k)
 
WWINLINE friend Vector2 operator* (float k, const Vector2 &a)
 
WWINLINE friend Vector2 operator/ (const Vector2 &a, float k)
 
WWINLINE friend Vector2 operator+ (const Vector2 &a, const Vector2 &b)
 
WWINLINE friend Vector2 operator- (const Vector2 &a, const Vector2 &b)
 
WWINLINE friend float operator* (const Vector2 &a, const Vector2 &b)
 
bool operator== (const Vector2 &a, const Vector2 &b)
 
bool operator!= (const Vector2 &a, const Vector2 &b)
 
WWINLINE friend bool Equal_Within_Epsilon (const Vector2 &a, const Vector2 &b, float epsilon)
 
Vector2 operator* (const Vector2 &a, float k)
 
Vector2 operator* (float k, const Vector2 &a)
 
Vector2 operator/ (const Vector2 &a, float k)
 
Vector2 operator+ (const Vector2 &a, const Vector2 &b)
 
Vector2 operator- (const Vector2 &a, const Vector2 &b)
 
float operator* (const Vector2 &a, const Vector2 &b)
 
bool operator== (const Vector2 &a, const Vector2 &b)
 
bool operator!= (const Vector2 &a, const Vector2 &b)
 
bool Equal_Within_Epsilon (const Vector2 &a, const Vector2 &b, float epsilon)
 

Detailed Description

Definition at line 68 of file vector2.h.

Constructor & Destructor Documentation

◆ Vector2() [1/8]

WWINLINE Vector2::Vector2 ( void )
inline

Definition at line 84 of file vector2.h.

◆ Vector2() [2/8]

WWINLINE Vector2::Vector2 ( const Vector2 & v)
inline

Definition at line 85 of file vector2.h.

◆ Vector2() [3/8]

WWINLINE Vector2::Vector2 ( float x,
float y )
inline

Definition at line 86 of file vector2.h.

◆ Vector2() [4/8]

WWINLINE Vector2::Vector2 ( const float vector[2])
inline

Definition at line 87 of file vector2.h.

◆ Vector2() [5/8]

Vector2::Vector2 ( void )
inline

Definition at line 84 of file vector2.h.

◆ Vector2() [6/8]

Vector2::Vector2 ( const Vector2 & v)
inline

Definition at line 85 of file vector2.h.

◆ Vector2() [7/8]

Vector2::Vector2 ( float x,
float y )
inline

Definition at line 86 of file vector2.h.

◆ Vector2() [8/8]

Vector2::Vector2 ( const float vector[2])
inline

Definition at line 87 of file vector2.h.

Member Function Documentation

◆ Distance() [1/2]

float Vector2::Distance ( const Vector2 & p1,
const Vector2 & p2 )
inlinestatic

Definition at line 633 of file vector2.h.

◆ Distance() [2/2]

static float Vector2::Distance ( const Vector2 & p1,
const Vector2 & p2 )
static

◆ Dot_Product() [1/2]

float Vector2::Dot_Product ( const Vector2 & a,
const Vector2 & b )
inlinestatic

Definition at line 258 of file vector2.h.

◆ Dot_Product() [2/2]

static float Vector2::Dot_Product ( const Vector2 & a,
const Vector2 & b )
static

◆ Is_Valid() [1/2]

bool Vector2::Is_Valid ( void ) const
inline

Definition at line 508 of file vector2.h.

◆ Is_Valid() [2/2]

bool Vector2::Is_Valid ( void ) const

◆ Length() [1/2]

float Vector2::Length ( void ) const
inline

Definition at line 362 of file vector2.h.

◆ Length() [2/2]

float Vector2::Length ( void ) const

◆ Length2() [1/2]

float Vector2::Length2 ( void ) const
inline

Definition at line 378 of file vector2.h.

◆ Length2() [2/2]

float Vector2::Length2 ( void ) const

◆ Lerp() [1/2]

void Vector2::Lerp ( const Vector2 & a,
const Vector2 & b,
float t,
Vector2 * set_result )
inlinestatic

Definition at line 662 of file vector2.h.

◆ Lerp() [2/2]

static void Vector2::Lerp ( const Vector2 & a,
const Vector2 & b,
float t,
Vector2 * set_result )
static

◆ Normalize() [1/2]

void Vector2::Normalize ( void )
inline

Definition at line 331 of file vector2.h.

◆ Normalize() [2/2]

void Vector2::Normalize ( void )

◆ operator*=() [1/2]

WWINLINE Vector2 & Vector2::operator*= ( float k)
inline

Definition at line 110 of file vector2.h.

◆ operator*=() [2/2]

Vector2 & Vector2::operator*= ( float k)
inline

Definition at line 110 of file vector2.h.

◆ operator+() [1/2]

WWINLINE Vector2 Vector2::operator+ ( ) const
inline

Definition at line 106 of file vector2.h.

◆ operator+() [2/2]

Vector2 Vector2::operator+ ( ) const
inline

Definition at line 106 of file vector2.h.

◆ operator+=() [1/2]

WWINLINE Vector2 & Vector2::operator+= ( const Vector2 & v)
inline

Definition at line 108 of file vector2.h.

◆ operator+=() [2/2]

Vector2 & Vector2::operator+= ( const Vector2 & v)
inline

Definition at line 108 of file vector2.h.

◆ operator-() [1/2]

WWINLINE Vector2 Vector2::operator- ( ) const
inline

Definition at line 105 of file vector2.h.

◆ operator-() [2/2]

Vector2 Vector2::operator- ( ) const
inline

Definition at line 105 of file vector2.h.

◆ operator-=() [1/2]

WWINLINE Vector2 & Vector2::operator-= ( const Vector2 & v)
inline

Definition at line 109 of file vector2.h.

◆ operator-=() [2/2]

Vector2 & Vector2::operator-= ( const Vector2 & v)
inline

Definition at line 109 of file vector2.h.

◆ operator/=() [1/2]

WWINLINE Vector2 & Vector2::operator/= ( float k)
inline

Definition at line 111 of file vector2.h.

◆ operator/=() [2/2]

Vector2 & Vector2::operator/= ( float k)
inline

Definition at line 111 of file vector2.h.

◆ operator=() [1/2]

WWINLINE Vector2 & Vector2::operator= ( const Vector2 & v)
inline

Definition at line 91 of file vector2.h.

◆ operator=() [2/2]

Vector2 & Vector2::operator= ( const Vector2 & v)
inline

Definition at line 91 of file vector2.h.

◆ operator[]() [1/4]

WWINLINE float & Vector2::operator[] ( int i)
inline

Definition at line 96 of file vector2.h.

◆ operator[]() [2/4]

float & Vector2::operator[] ( int i)
inline

Definition at line 96 of file vector2.h.

◆ operator[]() [3/4]

WWINLINE const float & Vector2::operator[] ( int i) const
inline

Definition at line 97 of file vector2.h.

◆ operator[]() [4/4]

const float & Vector2::operator[] ( int i) const
inline

Definition at line 97 of file vector2.h.

◆ Perp_Dot_Product() [1/2]

float Vector2::Perp_Dot_Product ( const Vector2 & a,
const Vector2 & b )
inlinestatic

Definition at line 263 of file vector2.h.

◆ Perp_Dot_Product() [2/2]

static float Vector2::Perp_Dot_Product ( const Vector2 & a,
const Vector2 & b )
static

◆ Quick_Distance() [1/2]

float Vector2::Quick_Distance ( const Vector2 & p1,
const Vector2 & p2 )
inlinestatic

Definition at line 618 of file vector2.h.

◆ Quick_Distance() [2/2]

static float Vector2::Quick_Distance ( const Vector2 & p1,
const Vector2 & p2 )
static

◆ Rotate() [1/4]

void Vector2::Rotate ( float s,
float c )
inline

Definition at line 413 of file vector2.h.

◆ Rotate() [2/4]

void Vector2::Rotate ( float s,
float c )

◆ Rotate() [3/4]

void Vector2::Rotate ( float theta)
inline

Definition at line 395 of file vector2.h.

◆ Rotate() [4/4]

void Vector2::Rotate ( float theta)

◆ Rotate_Towards_Vector() [1/4]

bool Vector2::Rotate_Towards_Vector ( Vector2 & target,
float max_s,
float max_c,
bool & positive_turn )
inline

Definition at line 455 of file vector2.h.

◆ Rotate_Towards_Vector() [2/4]

bool Vector2::Rotate_Towards_Vector ( Vector2 & target,
float max_s,
float max_c,
bool & positive_turn )

◆ Rotate_Towards_Vector() [3/4]

bool Vector2::Rotate_Towards_Vector ( Vector2 & target,
float max_theta,
bool & positive_turn )
inline

Definition at line 435 of file vector2.h.

◆ Rotate_Towards_Vector() [4/4]

bool Vector2::Rotate_Towards_Vector ( Vector2 & target,
float max_theta,
bool & positive_turn )

◆ Scale() [1/3]

WWINLINE void Vector2::Scale ( const Vector2 & a)

Definition at line 583 of file vector2.h.

◆ Scale() [2/3]

void Vector2::Scale ( float a,
float b )
inline

Definition at line 564 of file vector2.h.

◆ Scale() [3/3]

void Vector2::Scale ( float a,
float b )

◆ Set() [1/4]

WWINLINE void Vector2::Set ( const Vector2 & v)
inline

Definition at line 93 of file vector2.h.

◆ Set() [2/4]

void Vector2::Set ( const Vector2 & v)
inline

Definition at line 93 of file vector2.h.

◆ Set() [3/4]

WWINLINE void Vector2::Set ( float x,
float y )
inline

Definition at line 92 of file vector2.h.

◆ Set() [4/4]

void Vector2::Set ( float x,
float y )
inline

Definition at line 92 of file vector2.h.

◆ Update_Max() [1/2]

void Vector2::Update_Max ( const Vector2 & a)
inline

Definition at line 545 of file vector2.h.

◆ Update_Max() [2/2]

void Vector2::Update_Max ( const Vector2 & a)

◆ Update_Min() [1/2]

void Vector2::Update_Min ( const Vector2 & a)
inline

Definition at line 526 of file vector2.h.

◆ Update_Min() [2/2]

void Vector2::Update_Min ( const Vector2 & a)

Friends And Related Symbol Documentation

◆ Equal_Within_Epsilon [1/2]

WWINLINE friend bool Equal_Within_Epsilon ( const Vector2 & a,
const Vector2 & b,
float epsilon )
friend

Definition at line 315 of file vector2.h.

◆ Equal_Within_Epsilon [2/2]

bool Equal_Within_Epsilon ( const Vector2 & a,
const Vector2 & b,
float epsilon )
friend

Definition at line 315 of file vector2.h.

◆ operator!= [1/2]

bool operator!= ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 297 of file vector2.h.

◆ operator!= [2/2]

bool operator!= ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 297 of file vector2.h.

◆ operator* [1/6]

WWINLINE friend float operator* ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 253 of file vector2.h.

◆ operator* [2/6]

float operator* ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 253 of file vector2.h.

◆ operator* [3/6]

WWINLINE friend Vector2 operator* ( const Vector2 & a,
float k )
friend

Definition at line 169 of file vector2.h.

◆ operator* [4/6]

Vector2 operator* ( const Vector2 & a,
float k )
friend

Definition at line 169 of file vector2.h.

◆ operator* [5/6]

WWINLINE friend Vector2 operator* ( float k,
const Vector2 & a )
friend

Definition at line 176 of file vector2.h.

◆ operator* [6/6]

Vector2 operator* ( float k,
const Vector2 & a )
friend

Definition at line 176 of file vector2.h.

◆ operator+ [1/2]

WWINLINE friend Vector2 operator+ ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 214 of file vector2.h.

◆ operator+ [2/2]

Vector2 operator+ ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 214 of file vector2.h.

◆ operator- [1/2]

WWINLINE friend Vector2 operator- ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 234 of file vector2.h.

◆ operator- [2/2]

Vector2 operator- ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 234 of file vector2.h.

◆ operator/ [1/2]

WWINLINE friend Vector2 operator/ ( const Vector2 & a,
float k )
friend

Definition at line 194 of file vector2.h.

◆ operator/ [2/2]

Vector2 operator/ ( const Vector2 & a,
float k )
friend

Definition at line 194 of file vector2.h.

◆ operator== [1/2]

bool operator== ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 279 of file vector2.h.

◆ operator== [2/2]

bool operator== ( const Vector2 & a,
const Vector2 & b )
friend

Definition at line 279 of file vector2.h.

Member Data Documentation

◆ [union]

union { ... } Vector2

◆ [union]

union { ... } Vector2

◆ [union]

union { ... } Vector2

◆ [union]

union { ... } Vector2

◆ U

float Vector2::U

Definition at line 75 of file vector2.h.

◆ V

float Vector2::V

Definition at line 80 of file vector2.h.

◆ X

float Vector2::X

Definition at line 74 of file vector2.h.

◆ Y

float Vector2::Y

Definition at line 79 of file vector2.h.


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