CL_Pointd Class Reference
[clanCore Math]

2D (x,y) point structure - Double More...

#include <point.h>

Inheritance diagram for CL_Pointd:

CL_Pointx< double > CL_Vec2< double > List of all members.

Public Types

typedef double datatype

Public Member Functions

 CL_Pointd ()
 CL_Pointd (double x, double y)
 CL_Pointd (const CL_Pointx< double > &p)
 CL_Pointd (const CL_Vec2< double > &p)
CL_Vec2< double > & normalize ()
 Normalizes this vector.
double dot (const CL_Vec2< double > &vector) const
 Dot products this vector with an other vector.
CL_Vec2< double > & round ()
 Rounds all components of this vector.
CL_Vec2< double > & rotate (const CL_Vec2< double > &hotspot, const CL_Angle &angle)
 Rotate this vector around another point.
double length () const
 Returns the length (magnitude) of this vector.
CL_Angle angle (const CL_Vec2< double > &vector) const
 Calculate the angle between this vector and an other vector.
double distance (const CL_Vec2< double > &vector) const
 Calculate the distance between this vector and an other vector.
double round_value (float value) const
 Rounds a value for the datatype.
const double & operator[] (unsigned int i) const
double & operator[] (unsigned int i)
 operator double * ()
 operator double *const () const
void operator+= (const CL_Vec2< double > &vector)
 += operator.
void operator+= (doublevalue)
 += operator.
CL_Vec2< double > operator+ (const CL_Vec2< double > &vector) const
 + operator.
CL_Vec2< double > operator+ (doublevalue) const
 + operator.
void operator-= (const CL_Vec2< double > &vector)
 -= operator.
void operator-= (doublevalue)
 -= operator.
CL_Vec2< double > operator- (const CL_Vec2< double > &vector) const
 
  • operator.

CL_Vec2< double > operator- (doublevalue) const
 
  • operator.

CL_Vec2< double > operator- () const
 
  • operator.

void operator *= (const CL_Vec2< double > &vector)
 *= operator.
void operator *= (doublevalue)
 *= operator.
CL_Vec2< double > operator * (const CL_Vec2< double > &vector) const
 * operator.
CL_Vec2< double > operator * (doublevalue) const
 * operator.
void operator/= (const CL_Vec2< double > &vector)
 /= operator.
void operator/= (doublevalue)
 /= operator.
CL_Vec2< double > operator/ (const CL_Vec2< double > &vector) const
 / operator.
CL_Vec2< double > operator/ (doublevalue) const
 / operator.
bool operator== (const CL_Vec2< double > &vector) const
 == operator.
bool operator!= (const CL_Vec2< double > &vector) const
 != operator.

Static Public Member Functions

static CL_Vec2< double > normalize (const CL_Vec2< double > &vector)
 Normalizes a vector.
static double dot (const CL_Vec2< double > &vector_1, const CL_Vec2< double > &vector_2)
 Dot products a vector with an other vector.
static CL_Vec2< double > round (const CL_Vec2< double > &vector)
 Rounds all components on a vector.
static CL_Vec2< double > rotate (const CL_Vec2< double > &vector, const CL_Vec2< double > &hotspot, const CL_Angle &angle)
 Rotate a vector around another point.
static CL_Pointx< double > calc_origin (CL_Origin origin, const CL_Sizex< double > &size)
 Returns the anchor point for the origin within the dimensions of the size structure.

Public Attributes

double x
double s
double r
double y
double t
double g

Detailed Description

2D (x,y) point structure - Double


Member Typedef Documentation

typedef double CL_Vec2< double >::datatype [inherited]
 


Constructor & Destructor Documentation

CL_Pointd::CL_Pointd  )  [inline]
 

CL_Pointd::CL_Pointd double  x,
double  y
[inline]
 

CL_Pointd::CL_Pointd const CL_Pointx< double > &  p  )  [inline]
 

CL_Pointd::CL_Pointd const CL_Vec2< double > &  p  )  [inline]
 


Member Function Documentation

CL_Angle CL_Vec2< double >::angle const CL_Vec2< double > &  vector  )  const [inherited]
 

Calculate the angle between this vector and an other vector.

Parameters:
vector = Second vector used to calculate angle.
Returns:
The angle between the two vectors.

static CL_Pointx<double > CL_Vec2< double >::calc_origin CL_Origin  origin,
const CL_Sizex< double > &  size
[static, inherited]
 

Returns the anchor point for the origin within the dimensions of the size structure.

Parameters:
origin = The origin
size = The size
Returns:
The point

double CL_Vec2< double >::distance const CL_Vec2< double > &  vector  )  const [inherited]
 

Calculate the distance between this vector and an other vector.

Parameters:
vector = Second vector used to calculate distance.
Returns:
The distance between the two vectors.

double CL_Vec2< double >::dot const CL_Vec2< double > &  vector  )  const [inline, inherited]
 

Dot products this vector with an other vector.

Operates in the native datatype

Parameters:
vector Second vector used for the dot product.
Returns:
The resulting dot product of the two vectors.

static double CL_Vec2< double >::dot const CL_Vec2< double > &  vector_1,
const CL_Vec2< double > &  vector_2
[inline, static, inherited]
 

Dot products a vector with an other vector.

Operates in the native datatype

Parameters:
vector_1 = First vector used for the dot product.
vector_2 = Second vector used for the dot product.
Returns:
The resulting dot product of the two vectors.

double CL_Vec2< double >::length  )  const [inherited]
 

Returns the length (magnitude) of this vector.

Operates in the native datatype

Returns:
the length of the vector

CL_Vec2<double >& CL_Vec2< double >::normalize  )  [inherited]
 

Normalizes this vector.

Operates in the native datatype

Returns:
reference to this object

static CL_Vec2<double > CL_Vec2< double >::normalize const CL_Vec2< double > &  vector  )  [static, inherited]
 

Normalizes a vector.

Operates in the native datatype

Parameters:
vector = Vector to use
Returns:
normalized vector

CL_Vec2<double > CL_Vec2< double >::operator * double   value  )  const [inline, inherited]
 

* operator.

CL_Vec2<double > CL_Vec2< double >::operator * const CL_Vec2< double > &  vector  )  const [inline, inherited]
 

* operator.

void CL_Vec2< double >::operator *= double   value  )  [inline, inherited]
 

*= operator.

void CL_Vec2< double >::operator *= const CL_Vec2< double > &  vector  )  [inline, inherited]
 

*= operator.

CL_Vec2< double >::operator double *  )  [inline, inherited]
 

CL_Vec2< double >::operator double *const  )  const [inline, inherited]
 

bool CL_Vec2< double >::operator!= const CL_Vec2< double > &  vector  )  const [inline, inherited]
 

!= operator.

CL_Vec2<double > CL_Vec2< double >::operator+ double   value  )  const [inline, inherited]
 

+ operator.

CL_Vec2<double > CL_Vec2< double >::operator+ const CL_Vec2< double > &  vector  )  const [inline, inherited]
 

+ operator.

void CL_Vec2< double >::operator+= double   value  )  [inline, inherited]
 

+= operator.

void CL_Vec2< double >::operator+= const CL_Vec2< double > &  vector  )  [inline, inherited]
 

+= operator.

CL_Vec2<double > CL_Vec2< double >::operator-  )  const [inline, inherited]
 

  • operator.

CL_Vec2<double > CL_Vec2< double >::operator- double   value  )  const [inline, inherited]
 

  • operator.

CL_Vec2<double > CL_Vec2< double >::operator- const CL_Vec2< double > &  vector  )  const [inline, inherited]
 

  • operator.

void CL_Vec2< double >::operator-= double   value  )  [inline, inherited]
 

-= operator.

void CL_Vec2< double >::operator-= const CL_Vec2< double > &  vector  )  [inline, inherited]
 

-= operator.

CL_Vec2<double > CL_Vec2< double >::operator/ double   value  )  const [inline, inherited]
 

/ operator.

CL_Vec2<double > CL_Vec2< double >::operator/ const CL_Vec2< double > &  vector  )  const [inline, inherited]
 

/ operator.

void CL_Vec2< double >::operator/= double   value  )  [inline, inherited]
 

/= operator.

void CL_Vec2< double >::operator/= const CL_Vec2< double > &  vector  )  [inline, inherited]
 

/= operator.

bool CL_Vec2< double >::operator== const CL_Vec2< double > &  vector  )  const [inline, inherited]
 

== operator.

double & CL_Vec2< double >::operator[] unsigned int  i  )  [inline, inherited]
 

const double & CL_Vec2< double >::operator[] unsigned int  i  )  const [inline, inherited]
 

CL_Vec2<double >& CL_Vec2< double >::rotate const CL_Vec2< double > &  hotspot,
const CL_Angle angle
[inherited]
 

Rotate this vector around another point.

Parameters:
hotspot The point around which to rotate.
angle = Angle to rotate.
Returns:
reference to this object

static CL_Vec2<double > CL_Vec2< double >::rotate const CL_Vec2< double > &  vector,
const CL_Vec2< double > &  hotspot,
const CL_Angle angle
[static, inherited]
 

Rotate a vector around another point.

Parameters:
vector = Vector to use
hotspot The point around which to rotate.
angle = Angle to rotate.

CL_Vec2<double >& CL_Vec2< double >::round  )  [inherited]
 

Rounds all components of this vector.

Uses Asymmetric Arithmetic Rounding

Returns:
reference to this object

static CL_Vec2<double > CL_Vec2< double >::round const CL_Vec2< double > &  vector  )  [static, inherited]
 

Rounds all components on a vector.

Uses Asymmetric Arithmetic Rounding

Parameters:
vector = Vector to use
Returns:
The rounded vector

double CL_Vec2< double >::round_value float  value  )  const [inherited]
 

Rounds a value for the datatype.

For doubles and floats, this function does not round.

Parameters:
value = Value to round
Returns:
The rounded value


Member Data Documentation

double CL_Vec2< double >::g [inherited]
 

double CL_Vec2< double >::r [inherited]
 

double CL_Vec2< double >::s [inherited]
 

double CL_Vec2< double >::t [inherited]
 

double CL_Vec2< double >::x [inherited]
 

double CL_Vec2< double >::y [inherited]
 


The documentation for this class was generated from the following file:
Generated on Thu Dec 3 02:39:39 2009 for ClanLib by  doxygen 1.4.6