point2d.cpp
上传用户:chinasdcnc
上传日期:2022-07-02
资源大小:2702k
文件大小:1k
源码类别:

分形几何

开发平台:

Visual C++

  1. //
  2. // Delaunay Triangulation
  3. //
  4. // Homework of CG lesson (Fall 2009) in Tsinghua University.
  5. // All rights reserved.
  6. //
  7. // temp include, delete later if necessary
  8. #include "stdafx.h"
  9. #include "point2d.h"
  10. // User headers
  11. #include "base.h"
  12. Point2d::Point2d(void)
  13.     : x(0), y(0)
  14. {
  15. }
  16. Point2d::Point2d(double tx, double ty)
  17.     : x(tx), y(ty)
  18. {
  19. }
  20. Point2d::Point2d(const Point2d& p)
  21. {
  22.     x = p.x;
  23.     y = p.y;
  24. }
  25. Point2d Point2d::operator+(const Vector2d& v) const
  26. {
  27.     return Point2d(x + v.x, y + v.y);
  28. }
  29. Vector2d Point2d::operator-(const Point2d& p) const
  30. {
  31.     return Vector2d(x - p.x, y - p.y);
  32. }
  33. bool Point2d::operator==(const Point2d& p) const
  34. {
  35.     if (fabs(x - p.x) >= TOLERANCE || fabs(y - p.y) >= TOLERANCE)
  36.         return false;
  37.     return true;
  38. }
  39. bool Point2d::operator<(const Point2d& p) const
  40. {
  41. if(x < p.x)
  42. {
  43.     return true;
  44. }
  45. else
  46. {
  47.     if(x > p.x)
  48.     return false;
  49. else
  50.     return (y < p.y);
  51. }
  52. }