Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

Point3D Class Reference

#include <point.h>

List of all members.

Public Member Functions

 Point3D (const Point3D &point)
 Point3D (const double xx=0, const double yy=0, const double zz=0)
double operator[] (int i) const
double & operator[] (int i)
double & getCoordinate (int i)
double distance (Point3D &point)
Point3Doperator *= (const double scalaire)
Point3Doperator+= (const Point3D &point)
Point3Doperator-= (const Point3D &point)

Private Attributes

double x
double y
double z

Friends

std::ostream & operator<< (std::ostream &os, const Point3D &pt)
Point3D operator+ (const Point3D &p1, const Point3D &p2)
Point3D operator- (const Point3D &p1, const Point3D &p2)
Point3D operator * (const Point3D &p1, const double scalaire)
Point3D operator * (const double scalaire, const Point3D &p1)
bool operator== (const Point3D &p1, const Point3D &p2)
Point3D operator * (const Point3D &p1, const Point3D &p2)


Detailed Description

La classe Point3D permet de spécifier des points dans l'espace R3.

Author:
Guitteny Fabrice

Idiart Baptiste

Le Goff Erwan


Constructor & Destructor Documentation

Point3D::Point3D const Point3D point  ) 
 

constructeur par copie

Parameters:
point Point3D

00006 { 00007 x = point[0]; y = point[1]; z = point[2]; 00008 }

Point3D::Point3D const double  xx = 0,
const double  yy = 0,
const double  zz = 0
 

constructeur

Parameters:
xx abcisse
yy ordonnée
zz hauteur

00011 { 00012 x = xx; y = yy; z = zz; 00013 }


Member Function Documentation

double Point3D::distance Point3D point  ) 
 

calcul de la distance entre 2 points

Parameters:
point point dont on veut calculer la distance

00060 { 00061 double xtemp = x - point.getCoordinate(0); 00062 double ytemp = y - point.getCoordinate(1); 00063 double ztemp = z - point.getCoordinate(2); 00064 00065 return sqrt( (xtemp * xtemp) 00066 + (ytemp * ytemp) 00067 + (ztemp * ztemp) ); 00068 }

double & Point3D::getCoordinate int  i  ) 
 

accesseur

Parameters:
i dimension voulue (0 : x, 1 : y, 2 : z)
Returns:
x, y ou z (selon i)

00045 { 00046 switch (i) 00047 { 00048 case 0 : return x; 00049 case 1 : return y; 00050 case 2 : return z; 00051 default : return x; 00052 } 00053 }

Point3D & Point3D::operator *= const double  scalaire  ) 
 

operateur *= (multiplication par un scalaire)

Parameters:
scalaire multiplicateur
Returns:
Point3D

00076 { 00077 x *= scalar; y *= scalar; z *= scalar; 00078 return *this; 00079 }

Point3D & Point3D::operator+= const Point3D point  ) 
 

operateur += (addition de 2 points)

Parameters:
point autre point
Returns:
Point3D

00083 { 00084 x += point[0]; y += point[1]; z += point[2]; 00085 return *this; 00086 }

Point3D & Point3D::operator-= const Point3D point  ) 
 

operateur -= (soustraction de 2 points)

Parameters:
point autre point
Returns:
Point3D

00090 { 00091 x -= point[0]; y -= point[1]; z -= point[2]; 00092 return *this; 00093 }

double & Point3D::operator[] int  i  ) 
 

modificateur

Parameters:
i dimension voulue (0 : x, 1 : y, 2 : z)
Returns:
x, y ou z (selon i)

00033 { 00034 switch (i) 00035 { 00036 case 0 : return x; 00037 case 1 : return y; 00038 case 2 : return z; 00039 default : return x; 00040 } 00041 }

double Point3D::operator[] int  i  )  const
 

accesseur

Parameters:
i dimension voulue (0 : x, 1 : y, 2 : z)
Returns:
x, y ou z (selon i)

00021 { 00022 switch (i) 00023 { 00024 case 0 : return x; 00025 case 1 : return y; 00026 case 2 : return z; 00027 default : return x; 00028 } 00029 }


Friends And Related Function Documentation

Point3D operator * const Point3D p1,
const Point3D p2
[friend]
 

operateur * (multiplication de 2 points)

Parameters:
p1 point
p2 point
Returns:
Point3D p1 * p2

00139 { 00140 return Point3D((double) (p1[0] * p2[0]), 00141 (double) (p1[1] * p2[1]), 00142 (double) (p1[2] * p2[2])); 00143 }

Point3D operator * const double  scalaire,
const Point3D p1
[friend]
 

operateur * (multiplication avec un scalaire)

Parameters:
scalaire multiplicateur
p1 point
Returns:
Point3D scalaire * p1

00126 { 00127 return (p1 * scalar); 00128 }

Point3D operator * const Point3D p1,
const double  scalaire
[friend]
 

operateur * (multiplication avec un scalaire)

Parameters:
p1 point
scalaire multiplicateur
Returns:
Point3D p1 * scalaire

00120 { 00121 return Point3D(p1[0] * scalar, p1[1] * scalar, p1[2] * scalar); 00122 }

Point3D operator+ const Point3D p1,
const Point3D p2
[friend]
 

operateur + (addition de 2 points)

Parameters:
p1 point
p2 point
Returns:
Point3D p1 + p2

00108 { 00109 return Point3D(p1[0] + p2[0], p1[1] + p2[1], p1[2] + p2[2]); 00110 }

Point3D operator- const Point3D p1,
const Point3D p2
[friend]
 

operateur - (soustraction de 2 points)

Parameters:
p1 point
p2 point
Returns:
Point3D p1 - p2

00114 { 00115 return ((-1 * p2) + p1); 00116 }

std::ostream& operator<< std::ostream &  os,
const Point3D pt
[friend]
 

operateur << (affichage des coordonnées du point)

Parameters:
os flux de sortie
pt point dont on veut afficher les coordonnées
Returns:
flux

00101 { 00102 os << "(" << point[0] << "," << point[1] << "," << point[2] << ")"; 00103 return os; 00104 }

bool operator== const Point3D p1,
const Point3D p2
[friend]
 

operateur == (égalité de 2 points)

Parameters:
p1 point
p2 point
Returns:
bool p1 == p2

00132 { 00133 return ( p1.x == p2.x && p1.y == p2.y && p1.z == p2.z); 00134 }


Member Data Documentation

double Point3D::x [private]
 

double Point3D::y [private]
 

double Point3D::z [private]
 


The documentation for this class was generated from the following files:
Generated on Tue Nov 29 21:58:59 2005 for CylinderGenerator by doxygen 1.3.7