24 D3vector(
double cx,
double cy,
double cz) : x(cx), y(cy), z(cz) {};
25 explicit D3vector(
double c) : x(c), y(c), z(c) {};
26 D3vector() : x(0), y(0), z(0) {};
29 void Print(ofstream *Datei);
30 void operator=(
const D3vector& v) { x=v.x; y=v.y; z=v.z; }
31 double operator[](
int i) {
38inline double MIN(D3vector V) {
39 if(V.x<V.z && V.x<V.y)
return V.x;
40 if(V.y<V.z && V.y<V.x)
return V.y;
44inline double MAX(D3vector V) {
45 if(V.x>V.z && V.x>V.y)
return V.x;
46 if(V.y>V.z && V.y>V.x)
return V.y;
60inline D3vector operator+(
const D3vector& v,
const D3vector& w) {
61 return D3vector(v.x+w.x,v.y+w.y,v.z+w.z);
64inline D3vector operator*(
const D3vector& v,
const D3vector& w) {
65 return D3vector(v.x*w.x,v.y*w.y,v.z*w.z);
68inline D3vector operator/(
const D3vector& v,
const D3vector& w) {
69 return D3vector(v.x/w.x,v.y/w.y,v.z/w.z);
72inline D3vector operator-(
const D3vector& v,
const D3vector& w) {
73 return D3vector(v.x-w.x,v.y-w.y,v.z-w.z);
76inline D3vector operator/(
const D3vector& v,
const double f) {
77 return D3vector(v.x/f,v.y/f,v.z/f);
80inline D3vector operator*(
const D3vector& v,
const double f) {
81 return D3vector(v.x*f,v.y*f,v.z*f);
84inline D3vector operator*(
const double f,
const D3vector& v) {
85 return D3vector(v.x*f,v.y*f,v.z*f);
88inline bool operator<(
const D3vector& v,
const D3vector& w) {
89 return (v.x<w.x && v.y<w.y && v.z<w.z);
91inline bool operator==(
const D3vector& v,
const D3vector& w) {
92 return (v.x==w.x && v.y==w.y && v.z==w.z);
104inline void D3vector::Print() {
105 cout <<
"Coordinate: " << x <<
", " << y <<
", " << z <<
";";
108inline void D3vector::Print(ofstream *Datei) {
109 *Datei << x <<
" " << y <<
" " << z;