4 * Created on: 23 janv. 2012
13 //----------------------------------------------------------------------
15 //----------------------------------------------------------------------
22 //----------------------------------------------------------------------
24 //----------------------------------------------------------------------
28 //----------------------------------------------------------------------
29 Point::Point( const double x, const double y, const double z )
30 //----------------------------------------------------------------------
37 //----------------------------------------------------------------------
38 Point::Point( const Point& p )
39 //----------------------------------------------------------------------
46 //----------------------------------------------------------------------
48 Point::operator[] ( int i )
49 //----------------------------------------------------------------------
54 //----------------------------------------------------------------------
57 //----------------------------------------------------------------------
62 //----------------------------------------------------------------------
65 //----------------------------------------------------------------------
70 //----------------------------------------------------------------------
73 //----------------------------------------------------------------------
78 //----------------------------------------------------------------------
80 Point::operator+ ( const Point& p ) const
81 //----------------------------------------------------------------------
83 double xcoor= _x[0] + p.x() ;
84 double ycoor= _x[1] + p.y() ;
85 double zcoor= _x[2] + p.z() ;
86 Point p1(xcoor,ycoor,zcoor);
90 //----------------------------------------------------------------------
92 Point::operator- ( const Point& p ) const
93 //----------------------------------------------------------------------
95 double xcoor= _x[0] - p.x() ;
96 double ycoor= _x[1] - p.y() ;
97 double zcoor= _x[2] - p.z() ;
98 Point p1(xcoor,ycoor,zcoor);
102 //----------------------------------------------------------------------
104 Point::operator+= ( const Point& p )
105 //----------------------------------------------------------------------
113 //----------------------------------------------------------------------
115 Point::operator-= ( const Point& p )
116 //----------------------------------------------------------------------
124 //----------------------------------------------------------------------
126 Point::operator* ( double s ) const
127 //----------------------------------------------------------------------
129 double xcoor= _x[0]*s ;
130 double ycoor= _x[1]*s ;
131 double zcoor= _x[2]*s ;
132 Point p1(xcoor,ycoor,zcoor);
136 //----------------------------------------------------------------------
138 Point::operator*= ( double s )
139 //----------------------------------------------------------------------
147 //----------------------------------------------------------------------
149 Point::operator/ ( double s ) const
150 //----------------------------------------------------------------------
152 double xcoor= _x[0]/s ;
153 double ycoor= _x[1]/s ;
154 double zcoor= _x[2]/s ;
155 Point p1(xcoor,ycoor,zcoor);
159 //----------------------------------------------------------------------
161 Point::operator/= ( double s )
162 //----------------------------------------------------------------------
170 //----------------------------------------------------------------------
172 Point::operator= ( const Point& p )
173 //----------------------------------------------------------------------
181 //----------------------------------------------------------------------
183 Point::distance( const Point& p ) const
184 //----------------------------------------------------------------------
186 double dx = p.x() - _x[0] ;
187 double dy = p.y() - _x[1] ;
188 double dz = p.z() - _x[2] ;
190 return sqrt(dx*dx + dy*dy + dz*dz) ;
193 //----------------------------------------------------------------------
194 double Point::norm() const
195 //----------------------------------------------------------------------
197 return sqrt(_x[0]*_x[0] + _x[1]*_x[1] + _x[2]*_x[2]) ;
199 //----------------------------------------------------------------------
200 double Point::dot( const Point& p ) const
201 //----------------------------------------------------------------------
203 return _x[0]*p.x() + _x[1]*p.y() + _x[2]*p.z() ;