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

JVector2 Class Reference

#include <Vector2.hpp>

List of all members.

Public Methods

 JVector2 ()
 JVector2 (const JVector3 &obj)
 JVector2 (const JVector2 &obj)
 JVector2 (double x, double y)
virtual ~JVector2 ()
void print ()
JVector2 rotate (double rad)
void add (JVector2)
void subtract (JVector2)
void multiply (double)
void divide (double)
double dot (JVector2)
void cross (JVector2)
void negative ()
double length ()
void unit ()
double comp (JVector2)
JVector2 proj (JVector2)
double operator[] (int)
JVector2 operator() (double, double)
JVector2 operator+ (JVector2)
JVector2 operator- (JVector2)
JVector2 operator * (double)
JVector2 operator/ (double)
double operator * (JVector2)
JVector2 operator% (JVector2)
void operator+= (JVector2 val)
void operator-= (JVector2 val)
void operator *= (double val)
void operator/= (double val)
void operator%= (JVector2 val)
JVector2 operator- ()
double operator! ()
JVector2 operator~ ()
bool operator== (JVector2 val)
 JVector2 ()
 JVector2 (const JVector3 &obj)
 JVector2 (const JVector2 &obj)
 JVector2 (double x, double y)
virtual ~JVector2 ()
void print ()
JVector2 rotate (double rad)
void add (JVector2)
void subtract (JVector2)
void multiply (double)
void divide (double)
double dot (JVector2)
void cross (JVector2)
void negative ()
double length ()
void unit ()
double comp (JVector2)
JVector2 proj (JVector2)
double operator[] (int)
JVector2 operator() (double, double)
JVector2 operator+ (JVector2)
JVector2 operator- (JVector2)
JVector2 operator * (double)
JVector2 operator/ (double)
double operator * (JVector2)
JVector2 operator% (JVector2)
void operator+= (JVector2 val)
void operator-= (JVector2 val)
void operator *= (double val)
void operator/= (double val)
void operator%= (JVector2 val)
JVector2 operator- ()
double operator! ()
JVector2 operator~ ()
bool operator== (JVector2 val)

Public Attributes

double v [2]

Friends

JVector2 operator * (double, JVector2)
JVector2 operator/ (double, JVector2)
JVector2 operator * (double, JVector2)
JVector2 operator/ (double, JVector2)


Constructor & Destructor Documentation

JVector2::JVector2   [inline]
 

Definition at line 17 of file Vector2.hpp.

00017 {}

JVector2::JVector2 const JVector3   obj [inline]
 

Definition at line 14 of file Vector2.cpp.

00015 {
00016    v[0] = obj.v[0] / obj.v[2];
00017    v[1] = obj.v[1] / obj.v[2];
00018 }

JVector2::JVector2 const JVector2 &    obj [inline]
 

Definition at line 6 of file Vector2.cpp.

00007 {
00008    v[0] = obj.v[0];
00009    v[1] = obj.v[1];
00010 }

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

Definition at line 21 of file Vector2.hpp.

00021                                {
00022     v[0] = x;
00023     v[1] = y;
00024   }

virtual JVector2::~JVector2   [inline, virtual]
 

Definition at line 26 of file Vector2.hpp.

00026 {}

JVector2::JVector2   [inline]
 

Definition at line 17 of file Vector2.hpp.

00017 {}

JVector2::JVector2 const JVector3   obj
 

JVector2::JVector2 const JVector2 &    obj
 

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

Definition at line 21 of file Vector2.hpp.

00021                                {
00022     v[0] = x;
00023     v[1] = y;
00024   }

virtual JVector2::~JVector2   [inline, virtual]
 

Definition at line 26 of file Vector2.hpp.

00026 {}


Member Function Documentation

void JVector2::add JVector2   
 

void JVector2::add JVector2    add
 

Definition at line 42 of file Vector2.cpp.

Referenced by operator+=().

00043 {
00044   v[0] = v[0] + add.v[0];
00045   v[1] = v[1] + add.v[1];
00046 }

double JVector2::comp JVector2   
 

double JVector2::comp JVector2    obj
 

Definition at line 105 of file Vector2.cpp.

00106 {
00107   return (*this * obj) / !*this;
00108 }

void JVector2::cross JVector2   
 

void JVector2::cross JVector2   
 

Referenced by operator%=().

void JVector2::divide double   
 

void JVector2::divide double    div
 

Definition at line 66 of file Vector2.cpp.

Referenced by operator/=().

00067 {
00068   v[0] = v[0] / div;
00069   v[1] = v[1] / div;
00070 }

double JVector2::dot JVector2   
 

double JVector2::dot JVector2    dot
 

Definition at line 74 of file Vector2.cpp.

00075 {
00076   return v[0] * dot.v[0] + v[1] * dot.v[1];
00077 }

double JVector2::length  
 

double JVector2::length  
 

Definition at line 89 of file Vector2.cpp.

00090 {
00091   return (double) sqrt(v[0] * v[0] + v[1] * v[1]);
00092 }

void JVector2::multiply double   
 

void JVector2::multiply double    mult
 

Definition at line 58 of file Vector2.cpp.

Referenced by operator *=().

00059 {
00060   v[0] = v[0] * mult;
00061   v[1] = v[1] * mult;
00062 }

void JVector2::negative  
 

void JVector2::negative  
 

Definition at line 81 of file Vector2.cpp.

00082 {
00083   v[0] = -v[0];
00084   v[1] = -v[1];
00085 }

double JVector2::operator * JVector2   
 

JVector2 JVector2::operator * double   
 

double JVector2::operator * JVector2    dot
 

Definition at line 195 of file Vector2.cpp.

00196 {
00197   double result;
00198   result = v[0] * dot.v[0] + v[1] * dot.v[1];
00199   return result;
00200 }

JVector2 JVector2::operator * double    mult
 

Definition at line 155 of file Vector2.cpp.

00156 {
00157   JVector2 result;
00158   result.v[0] = v[0] * mult;
00159   result.v[1] = v[1] * mult;
00160   return result;
00161 }

void JVector2::operator *= double    val [inline]
 

Definition at line 61 of file Vector2.hpp.

00061 { multiply(val); }

void JVector2::operator *= double    val [inline]
 

Definition at line 61 of file Vector2.hpp.

00061 { multiply(val); }

double JVector2::operator!  
 

double JVector2::operator!  
 

Definition at line 214 of file Vector2.cpp.

00215 {
00216   return (double) sqrt(v[0] * v[0] + v[1] * v[1]);
00217 }

JVector2 JVector2::operator% JVector2   
 

JVector2 JVector2::operator% JVector2   
 

void JVector2::operator%= JVector2    val [inline]
 

Definition at line 63 of file Vector2.hpp.

00063 { cross(val); }

void JVector2::operator%= JVector2    val [inline]
 

Definition at line 63 of file Vector2.hpp.

00063 { cross(val); }

JVector2 JVector2::operator() double   ,
double   
 

JVector2 JVector2::operator() double    x,
double    y
 

Definition at line 126 of file Vector2.cpp.

00127 {
00128   v[0] = x;
00129   v[1] = y;
00130   return *this;
00131 }

JVector2 JVector2::operator+ JVector2   
 

JVector2 JVector2::operator+ JVector2    add
 

Definition at line 135 of file Vector2.cpp.

00136 {
00137   JVector2 result;
00138   result.v[0] = v[0] + add.v[0];
00139   result.v[1] = v[1] + add.v[1];
00140   return result;
00141 }

void JVector2::operator+= JVector2    val [inline]
 

Definition at line 59 of file Vector2.hpp.

00059 { add(val); }

void JVector2::operator+= JVector2    val [inline]
 

Definition at line 59 of file Vector2.hpp.

00059 { add(val); }

JVector2 JVector2::operator-  
 

JVector2 JVector2::operator- JVector2   
 

JVector2 JVector2::operator-  
 

Definition at line 204 of file Vector2.cpp.

00205 {
00206   JVector2 result;
00207   result.v[0] = -v[0];
00208   result.v[1] = -v[1];
00209   return result;
00210 }

JVector2 JVector2::operator- JVector2    add
 

Definition at line 145 of file Vector2.cpp.

00146 {
00147   JVector2 result;
00148   result.v[0] = v[0] - add.v[0];
00149   result.v[1] = v[1] - add.v[1];
00150   return result;
00151 }

void JVector2::operator-= JVector2    val [inline]
 

Definition at line 60 of file Vector2.hpp.

00060 { subtract(val); }

void JVector2::operator-= JVector2    val [inline]
 

Definition at line 60 of file Vector2.hpp.

00060 { subtract(val); }

JVector2 JVector2::operator/ double   
 

JVector2 JVector2::operator/ double    div
 

Definition at line 175 of file Vector2.cpp.

00176 {
00177   JVector2 result;
00178   result.v[0] = v[0] / div;
00179   result.v[1] = v[1] / div;
00180   return result;
00181 }

void JVector2::operator/= double    val [inline]
 

Definition at line 62 of file Vector2.hpp.

00062 { divide(val); }

void JVector2::operator/= double    val [inline]
 

Definition at line 62 of file Vector2.hpp.

00062 { divide(val); }

bool JVector2::operator== JVector2    val [inline]
 

Definition at line 69 of file Vector2.hpp.

00070   {
00071     if (v[0] == val.v[0])
00072       if (v[1] == val.v[1])
00073    if (v[2] == val.v[2])
00074      return true;
00075     
00076     return false;
00077   }

bool JVector2::operator== JVector2    val [inline]
 

Definition at line 69 of file Vector2.hpp.

00070   {
00071     if (v[0] == val.v[0])
00072       if (v[1] == val.v[1])
00073    if (v[2] == val.v[2])
00074      return true;
00075     
00076     return false;
00077   }

double JVector2::operator[] int   
 

double JVector2::operator[] int    i
 

Definition at line 118 of file Vector2.cpp.

00119 {
00120   assert( i >= 0 && i < 2);
00121   return v[i];
00122 }

JVector2 JVector2::operator~  
 

JVector2 JVector2::operator~  
 

Definition at line 221 of file Vector2.cpp.

00222 {
00223   JVector2 result;
00224   double len = (double) sqrt(v[0] * v[0] + v[1] * v[1]);
00225   result.v[0] = v[0] / len;
00226   result.v[1] = v[1] / len;
00227   return result;
00228 }

void JVector2::print  
 

void JVector2::print  
 

JVector2 JVector2::proj JVector2   
 

JVector2 JVector2::proj JVector2    obj
 

Definition at line 112 of file Vector2.cpp.

00113 {
00114   JVector2 a = *this, b = obj;
00115   return ((a * b) / (!a * !a)) * a;
00116 }

JVector2 JVector2::rotate double    rad
 

JVector2 JVector2::rotate double    rad
 

Definition at line 29 of file Vector2.cpp.

00030 {
00031         double s = (double)sin(rad), c = (double)cos(rad);
00032         JVector2 ret;
00033   
00034    ret.v[0] = c * v[0] - s * v[1];
00035    ret.v[1] = s * v[0] + c * v[1];
00036 
00037    return ret;
00038 }

void JVector2::subtract JVector2   
 

void JVector2::subtract JVector2    sub
 

Definition at line 50 of file Vector2.cpp.

Referenced by operator-=().

00051 {
00052   v[0] = v[0] - sub.v[0];
00053   v[1] = v[1] - sub.v[1];
00054 }

void JVector2::unit  
 

void JVector2::unit  
 

Definition at line 96 of file Vector2.cpp.

00097 {
00098   double len = (double) sqrt(v[0] * v[0] + v[1] * v[1]);
00099   v[0] = v[0] / len;
00100   v[1] = v[1] / len;
00101 }


Friends And Related Function Documentation

JVector2 operator * double    mult,
JVector2    vect
[friend]
 

Definition at line 165 of file Vector2.cpp.

00166 {
00167   JVector2 result;
00168   result.v[0] = vect.v[0] * mult;
00169   result.v[1] = vect.v[1] * mult;
00170   return result;
00171 }

JVector2 operator * double    mult,
JVector2    vect
[friend]
 

Definition at line 165 of file Vector2.cpp.

00166 {
00167   JVector2 result;
00168   result.v[0] = vect.v[0] * mult;
00169   result.v[1] = vect.v[1] * mult;
00170   return result;
00171 }

JVector2 operator/ double    div,
JVector2    vect
[friend]
 

Definition at line 185 of file Vector2.cpp.

00186 {
00187   JVector2 result;
00188   result.v[0] = div / vect.v[0];
00189   result.v[1] = div / vect.v[1];
00190   return result;
00191 }

JVector2 operator/ double    div,
JVector2    vect
[friend]
 

Definition at line 185 of file Vector2.cpp.

00186 {
00187   JVector2 result;
00188   result.v[0] = div / vect.v[0];
00189   result.v[1] = div / vect.v[1];
00190   return result;
00191 }


Member Data Documentation

double JVector2::v
 

Definition at line 80 of file Vector2.hpp.

Referenced by JVector2(), JVector3::JVector3(), add(), dot(), JMatrix22::mult(), operator *(), operator *(), operator+(), operator-(), operator/(), operator/(), operator==(), operator~(), rotate(), and subtract().


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