Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

JVector2D Class Reference

#include <Vector2D.hpp>

List of all members.

Public Methods

 JVector2D ()
 JVector2D (const JVector2D &v)
 JVector2D (const double x, const double y)
JVector2D & operator= (const JVector2D &v)
BOOL operator== (const JVector2D &v) const
BOOL operator!= (const JVector2D &v) const
void operator+= (const JVector2D &v)
void operator-= (const JVector2D &v)
void operator *= (const JVector2D &v)
void operator/= (const JVector2D &v)
void operator *= (const double r)
void operator/= (const double r)
double X () const
double X (const double x)
double Y () const
double Y (const double y)
void Set (const double x, const double y)
BOOL bAtOrg () const
double Magnitude () const
void Negate ()
void Normalize ()
void Square ()
void ToRadians ()
 JVector2D ()
 JVector2D (const JVector2D &v)
 JVector2D (const double x, const double y)
JVector2D & operator= (const JVector2D &v)
BOOL operator== (const JVector2D &v) const
BOOL operator!= (const JVector2D &v) const
void operator+= (const JVector2D &v)
void operator-= (const JVector2D &v)
void operator *= (const JVector2D &v)
void operator/= (const JVector2D &v)
void operator *= (const double r)
void operator/= (const double r)
double X () const
double X (const double x)
double Y () const
double Y (const double y)
void Set (const double x, const double y)
BOOL bAtOrg () const
double Magnitude () const
void Negate ()
void Normalize ()
void Square ()
void ToRadians ()

Private Attributes

double X
double Y

Friends

JVector2D operator+ (const JVector2D &left, const JVector2D &right)
JVector2D operator- (const JVector2D &left, const JVector2D &right)
JVector2D operator * (const JVector2D &left, const JVector2D &right)
JVector2D operator/ (const JVector2D &left, const JVector2D &right)
JVector2D operator * (const JVector2D &left, const double r)
JVector2D operator/ (const JVector2D &left, const double r)
double Dot (const JVector2D &left, const JVector2D &right)
JVector2D vecHalfBetween (const JVector2D &left, const JVector2D &right)
JVector2D operator+ (const JVector2D &left, const JVector2D &right)
JVector2D operator- (const JVector2D &left, const JVector2D &right)
JVector2D operator * (const JVector2D &left, const JVector2D &right)
JVector2D operator/ (const JVector2D &left, const JVector2D &right)
JVector2D operator * (const JVector2D &left, const double r)
JVector2D operator/ (const JVector2D &left, const double r)
double Dot (const JVector2D &left, const JVector2D &right)
JVector2D vecHalfBetween (const JVector2D &left, const JVector2D &right)


Constructor & Destructor Documentation

JVector2D::JVector2D  
 

Definition at line 6 of file Vector2D.cpp.

Referenced by MATH_PI().

00007   : X( 0.0 ), Y( 0.0 ) { }

JVector2D::JVector2D const JVector2D &    v
 

Definition at line 9 of file Vector2D.cpp.

00010   : X( v.X ), Y( v.Y ) { }

JVector2D::JVector2D const double    x,
const double    y
 

Definition at line 12 of file Vector2D.cpp.

00013   : X( x ), Y( y ) { }

JVector2D::JVector2D  
 

JVector2D::JVector2D const JVector2D &    v
 

JVector2D::JVector2D const double    x,
const double    y
 


Member Function Documentation

double JVector2D::Magnitude   const
 

double JVector2D::Magnitude   const [inline]
 

Definition at line 95 of file Vector2D.cpp.

Referenced by MATH_PI().

00095                                          {
00096   return sqrt( (X * X) + (Y * Y) );
00097 }

void JVector2D::Negate  
 

void JVector2D::Negate   [inline]
 

Definition at line 137 of file Vector2D.cpp.

Referenced by MATH_PI().

00137                               {
00138   X = -X;
00139   Y = -Y;
00140 }

void JVector2D::Normalize  
 

void JVector2D::Normalize   [inline]
 

Definition at line 99 of file Vector2D.cpp.

Referenced by MATH_PI().

00099                                  {
00100   double Mag = sqrt( (X * X) + (Y * Y) );
00101   X /= Mag;
00102   Y /= Mag;
00103 }

void JVector2D::Set const double    x,
const double    y
 

void JVector2D::Set const double    x,
const double    y
[inline]
 

Definition at line 142 of file Vector2D.cpp.

Referenced by MATH_PI().

00142                                                            {
00143   X = x;
00144   Y = y;
00145 }

void JVector2D::Square  
 

void JVector2D::Square   [inline]
 

Definition at line 147 of file Vector2D.cpp.

Referenced by MATH_PI().

00147                               {
00148   X *= X;
00149   Y *= Y;
00150 }

void JVector2D::ToRadians  
 

void JVector2D::ToRadians  
 

Definition at line 105 of file Vector2D.cpp.

Referenced by MATH_PI().

00105                           {
00106   if (abs(X) > 360.0)
00107   X = mod(X, 360.0);
00108   if (abs(Y) > 360.0)
00109   Y = mod(Y, 360.0);
00110 
00111   X *= MATH_PI / 180.0;
00112   Y *= MATH_PI / 180.0;
00113 }

double JVector2D::X const double    x
 

double JVector2D::X   const
 

double JVector2D::X const double    x
 

double JVector2D::X   const
 

Referenced by Dot(), MATH_PI(), JArea::SetLowerRight(), JArea::SetOrg(), operator *(), operator *=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator=(), and vecHalfBetween().

double JVector2D::Y const double    y
 

double JVector2D::Y   const
 

double JVector2D::Y const double    y
 

double JVector2D::Y   const
 

Referenced by Dot(), MATH_PI(), JArea::SetLowerRight(), JArea::SetOrg(), operator *(), operator *=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator=(), and vecHalfBetween().

BOOL JVector2D::bAtOrg   const
 

BOOL JVector2D::bAtOrg   const [inline]
 

Definition at line 86 of file Vector2D.cpp.

Referenced by MATH_PI().

00086                                     {
00087   if ( (X == 0.0)  &&  (Y == 0.0) )  return TRUE;
00088   return FALSE;
00089 }

void JVector2D::operator *= const double    r
 

void JVector2D::operator *= const JVector2D &    v
 

void JVector2D::operator *= const double    Factor
 

Definition at line 50 of file Vector2D.cpp.

00050                                                 {
00051   X *= Factor;
00052   Y *= Factor;
00053 }

void JVector2D::operator *= const JVector2D &    v
 

Definition at line 45 of file Vector2D.cpp.

Referenced by MATH_PI().

00045                                                {
00046   X *= v.X;
00047   Y *= v.Y;
00048 }

BOOL JVector2D::operator!= const JVector2D &    v const
 

BOOL JVector2D::operator!= const JVector2D &    v const [inline]
 

Definition at line 82 of file Vector2D.cpp.

00082                                                             {
00083   return !Compare( v );
00084 }

void JVector2D::operator+= const JVector2D &    v
 

void JVector2D::operator+= const JVector2D &    v
 

Definition at line 27 of file Vector2D.cpp.

Referenced by MATH_PI().

00027                                                {
00028   X += v.X;
00029   Y += v.Y;
00030 }

void JVector2D::operator-= const JVector2D &    v
 

void JVector2D::operator-= const JVector2D &    v
 

Definition at line 36 of file Vector2D.cpp.

Referenced by MATH_PI().

00036                                                {
00037   X -= v.X;
00038   Y -= v.Y;
00039 }

void JVector2D::operator/= const double    r
 

void JVector2D::operator/= const JVector2D &    v
 

void JVector2D::operator/= const double    r
 

void JVector2D::operator/= const JVector2D &    v
 

Definition at line 59 of file Vector2D.cpp.

Referenced by MATH_PI().

00059                                                {
00060   X /= v.X;
00061   Y /= v.Y;
00062 }

JVector2D& JVector2D::operator= const JVector2D &    v
 

JVector2D & JVector2D::operator= const JVector2D &    v
 

Definition at line 15 of file Vector2D.cpp.

Referenced by MATH_PI().

00015                                                     {
00016   if ( this != &v ) {
00017     X = v.X;
00018     Y = v.Y;
00019   }
00020   return *this;
00021 }

BOOL JVector2D::operator== const JVector2D &    v const
 

BOOL JVector2D::operator== const JVector2D &    v const [inline]
 

Definition at line 78 of file Vector2D.cpp.

Referenced by MATH_PI().

00078                                                             {
00079   return Compare( v );
00080 }


Friends And Related Function Documentation

double Dot const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 91 of file Vector2D.cpp.

00091                                                             {
00092   return (v1.X * v2.X) + (v1.Y * v2.Y);
00093 }

double Dot const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 91 of file Vector2D.cpp.

Referenced by MATH_PI().

00091                                                             {
00092   return (v1.X * v2.X) + (v1.Y * v2.Y);
00093 }

JVector2D operator * const JVector2D &    left,
const double    r
[friend]
 

JVector2D operator * const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 41 of file Vector2D.cpp.

00041                                                                 {
00042   return JVector2D( v1.X * v2.X, v1.Y * v2.Y );
00043 }

JVector2D operator * const JVector2D &    left,
const double    r
[friend]
 

JVector2D operator * const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 41 of file Vector2D.cpp.

Referenced by MATH_PI().

00041                                                                 {
00042   return JVector2D( v1.X * v2.X, v1.Y * v2.Y );
00043 }

JVector2D operator+ const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 23 of file Vector2D.cpp.

00023                                                                 {
00024   return JVector2D( v1.X + v2.X, v1.Y + v2.Y );
00025 }

JVector2D operator+ const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 23 of file Vector2D.cpp.

00023                                                                 {
00024   return JVector2D( v1.X + v2.X, v1.Y + v2.Y );
00025 }

JVector2D operator- const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 32 of file Vector2D.cpp.

00032                                                                 {
00033   return JVector2D( v1.X - v2.X, v1.Y - v2.Y );
00034 }

JVector2D operator- const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 32 of file Vector2D.cpp.

Referenced by MATH_PI().

00032                                                                 {
00033   return JVector2D( v1.X - v2.X, v1.Y - v2.Y );
00034 }

JVector2D operator/ const JVector2D &    v1,
const double    Factor
[friend]
 

Definition at line 64 of file Vector2D.cpp.

00064                                                                 {
00065   return JVector2D( v1.X / Factor, v1.Y / Factor );
00066 }

JVector2D operator/ const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 55 of file Vector2D.cpp.

00055                                                                 {
00056   return JVector2D( v1.X / v2.X, v1.Y / v2.Y );
00057 }

JVector2D operator/ const JVector2D &    v1,
const double    Factor
[friend]
 

Definition at line 64 of file Vector2D.cpp.

00064                                                                 {
00065   return JVector2D( v1.X / Factor, v1.Y / Factor );
00066 }

JVector2D operator/ const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 55 of file Vector2D.cpp.

Referenced by MATH_PI().

00055                                                                 {
00056   return JVector2D( v1.X / v2.X, v1.Y / v2.Y );
00057 }

JVector2D vecHalfBetween const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 115 of file Vector2D.cpp.

00115                                                                    {
00116   return JVector2D( 0.5 * (v1.X + v2.X), 0.5  * (v1.Y + v2.Y) );
00117 }

JVector2D vecHalfBetween const JVector2D &    v1,
const JVector2D &    v2
[friend]
 

Definition at line 115 of file Vector2D.cpp.

Referenced by MATH_PI().

00115                                                                    {
00116   return JVector2D( 0.5 * (v1.X + v2.X), 0.5  * (v1.Y + v2.Y) );
00117 }


Member Data Documentation

double JVector2D::X [inline, private]
 

Definition at line 55 of file Vector2D.hpp.

double JVector2D::Y [inline, private]
 

Definition at line 56 of file Vector2D.hpp.


The documentation for this class was generated from the following files:
Generated on Sun Oct 14 18:49:08 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001