Xinqi Bao's Git
5 #include "Configurations.hh"
8 Vec2d::Vec2d(double x
, double y
) : x(x
), y(y
) {}
9 Vec2d::Vec2d(const Vec3d
& v1
, const Vec3d
& v2
, double z
)
11 x
= (v1
.x
- v2
.x
) * (z
- v1
.z
) / (v1
.z
- v2
.z
) + v1
.x
;
12 y
= (v1
.y
- v2
.y
) * (z
- v1
.z
) / (v1
.z
- v2
.z
) + v1
.y
;
15 bool Vec2d::equal(const Vec2d
& v
) const
17 if (fabs(x
- v
.x
) < thr
&& fabs(y
- v
.y
) < thr
) return true;
20 bool Vec2d::equal(const Vec2d
* v
) const { return equal(*v
); }
21 double Vec2d::sum() const { return x
+ y
; }
23 std::istream
& operator>>(std::istream
& s
, Vec2d
& v
) { return s
>> v
.x
>> v
.y
; }
24 std::istream
& operator>>(std::istream
& s
, Vec2d
* v
)
26 return s
>> v
->x
>> v
->y
;
28 std::ostream
& operator<<(std::ostream
& s
, const Vec2d
& v
)
30 return s
<< v
.x
<< "," << v
.y
;
32 std::ostream
& operator<<(std::ostream
& s
, const Vec2d
* v
)
34 return s
<< v
->x
<< "," << v
->y
;