3 changed files with 119 additions and 98 deletions
@ -0,0 +1,97 @@ |
|||||
|
#include "Point.h" |
||||
|
|
||||
|
|
||||
|
bool P::operator<(P B) const |
||||
|
{ |
||||
|
if (!Equal(x, B.x)) |
||||
|
return x < B.x; |
||||
|
if (!Equal(y, B.y)) |
||||
|
return y < B.y; |
||||
|
if (!Equal(z, B.z)) |
||||
|
return z < B.z; |
||||
|
return false; |
||||
|
} |
||||
|
bool P::operator==(P B) const |
||||
|
{ |
||||
|
return Equal(x, B.x) && Equal(y, B.y) && Equal(z, B.z); |
||||
|
} |
||||
|
bool P::operator!=(P B) const |
||||
|
{ |
||||
|
return !(Equal(x, B.x) && Equal(y, B.y) && Equal(z, B.z)); |
||||
|
} |
||||
|
|
||||
|
void P::set(int i, double v) |
||||
|
{ |
||||
|
if (i == 0) |
||||
|
x = v; |
||||
|
else if (i == 1) |
||||
|
y = v; |
||||
|
else if (i == 2) |
||||
|
z = v; |
||||
|
} |
||||
|
const double P::get(int i) |
||||
|
{ |
||||
|
if (i == 0) |
||||
|
return x; |
||||
|
else if (i == 1) |
||||
|
return y; |
||||
|
else if (i == 2) |
||||
|
return z; |
||||
|
|
||||
|
return 0; |
||||
|
} |
||||
|
|
||||
|
void P::reverse() |
||||
|
{ |
||||
|
dx = -dx; |
||||
|
dy = -dy; |
||||
|
dz = -dz; |
||||
|
} |
||||
|
|
||||
|
P::P(double x1, double y1, double z1) |
||||
|
{ |
||||
|
x = x1; |
||||
|
y = y1; |
||||
|
z = z1; |
||||
|
dx = 0; |
||||
|
dy = dz = 0; |
||||
|
isend = 0; |
||||
|
type = ref = 0; |
||||
|
} |
||||
|
P::P() |
||||
|
{ |
||||
|
x = y = z = 0; |
||||
|
dx = 0; |
||||
|
dy = dz = 0; |
||||
|
isend = 0; |
||||
|
type = ref = 0; |
||||
|
} |
||||
|
P P::operator-(P B) const |
||||
|
{ |
||||
|
return P(x - B.x, y - B.y, z - B.z); |
||||
|
} |
||||
|
P P::operator+(P B) const |
||||
|
{ |
||||
|
return P(x + B.x, y + B.y, z + B.z); |
||||
|
} |
||||
|
P P::operator*(double p) const |
||||
|
{ |
||||
|
return P(x * p, y * p, z * p); |
||||
|
} |
||||
|
P P::operator/(double p) const |
||||
|
{ |
||||
|
return P(x / p, y / p, z / p); |
||||
|
} |
||||
|
void P::print(string s) |
||||
|
{ |
||||
|
cout << s << setprecision(10) << " : " << x << " " << y << " " << z << endl; |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
// ÉèÖ÷½Ïò
|
||||
|
void P::setDir(const P &dir) |
||||
|
{ |
||||
|
dx = dir.x; |
||||
|
dy = dir.y; |
||||
|
dz = dir.z; |
||||
|
} |
Loading…
Reference in new issue