#include "edge.h" Edge::Edge() { return; } Edge::Edge(const iPoint2& A, const iPoint2& B) { if (A.y < B.y) { lower = A; upper = B; } else { lower = B; upper = A; } return; } bool Edge::Equal(const Edge& e) const { return min(lower.y, upper.y) == min(e.lower.y, e.upper.y); } bool Edge::LessThan(const Edge& e) const { return min(lower.y, upper.y) < min(e.lower.y, e.upper.y); } bool operator==(const Edge& e1, const Edge& e2) { return e1.Equal(e2); } bool operator!=(const Edge& e1, const Edge& e2) { return !e1.Equal(e2); } bool operator<(const Edge& e1, const Edge& e2) { return e1.LessThan(e2); } bool operator>(const Edge& e1, const Edge& e2) { return e2.LessThan(e1); } bool operator<=(const Edge& e1, const Edge& e2) { return !e2.LessThan(e1); } bool operator>=(const Edge& e1, const Edge& e2) { return !e1.LessThan(e2); }