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(std::ofstream *Datei);
30 void operator=(
const D3vector& v) { x=v.x; y=v.y; z=v.z; }
37 double& operator[](
int i) {
44inline double MIN(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;
50inline double MAX(D3vector V) {
51 if(V.x>V.z && V.x>V.y)
return V.x;
52 if(V.y>V.z && V.y>V.x)
return V.y;
66inline D3vector operator+(
const D3vector& v,
const D3vector& w) {
67 return D3vector(v.x+w.x,v.y+w.y,v.z+w.z);
70inline D3vector operator*(
const D3vector& v,
const D3vector& w) {
71 return D3vector(v.x*w.x,v.y*w.y,v.z*w.z);
74inline D3vector operator/(
const D3vector& v,
const D3vector& w) {
75 return D3vector(v.x/w.x,v.y/w.y,v.z/w.z);
78inline D3vector operator-(
const D3vector& v,
const D3vector& w) {
79 return D3vector(v.x-w.x,v.y-w.y,v.z-w.z);
82inline D3vector operator/(
const D3vector& v,
const double f) {
83 return D3vector(v.x/f,v.y/f,v.z/f);
86inline D3vector operator*(
const D3vector& v,
const double f) {
87 return D3vector(v.x*f,v.y*f,v.z*f);
90inline D3vector operator*(
const double f,
const D3vector& v) {
91 return D3vector(v.x*f,v.y*f,v.z*f);
94inline bool operator<(
const D3vector& v,
const D3vector& w) {
95 return (v.x<w.x && v.y<w.y && v.z<w.z);
97inline bool operator==(
const D3vector& v,
const D3vector& w) {
98 return (v.x==w.x && v.y==w.y && v.z==w.z);
110inline void D3vector::Print() {
111 std::cout <<
"Coordinate: " << x <<
", " << y <<
", " << z <<
";";
114inline void D3vector::Print(std::ofstream *Datei) {
115 *Datei << x <<
" " << y <<
" " << z;