forked from codysauermann/GeometricDataStructures2D
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAttributedHalfSegment2D.cpp
More file actions
57 lines (47 loc) · 1.42 KB
/
AttributedHalfSegment2D.cpp
File metadata and controls
57 lines (47 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "Number.h"
#include "AttributedHalfSegment2D.h"
#include <climits>
AttributedHalfSegment2D::AttributedHalfSegment2D(HalfSegment2D hs, bool above)
{
this->hs = hs;
this->above = above;
}
AttributedHalfSegment2D::AttributedHalfSegment2D(const AttributedHalfSegment2D& ahs)
{
this->hs = ahs.hs;
this->above = ahs.above;
}
AttributedHalfSegment2D::AttributedHalfSegment2D(AttributedHalfSegment2D&& ahs)
{
this->hs = std::move(ahs.hs);
this->above = std::move(ahs.above);
}
void AttributedHalfSegment2D::operator=(const AttributedHalfSegment2D& ahs)
{
this->hs.s = ahs.hs.s;
this->hs.isDominatingPointLeft = ahs.hs.isDominatingPointLeft;
}
bool AttributedHalfSegment2D::operator==(const AttributedHalfSegment2D& ahs)
{
return (this->hs.s == ahs.hs.s && this->hs.isDominatingPointLeft == ahs.hs.isDominatingPointLeft);
}
bool AttributedHalfSegment2D::operator>=(const AttributedHalfSegment2D& ahs)
{
return !((*this) < ahs);
}
bool AttributedHalfSegment2D::operator>(const AttributedHalfSegment2D& ahs)
{
return !((*this) <= ahs);
}
bool AttributedHalfSegment2D::operator<(const AttributedHalfSegment2D& ahs)
{
return (this->hs < ahs.hs);
}
bool AttributedHalfSegment2D::operator<=(const AttributedHalfSegment2D& ahs)
{
return (*this < ahs || *this == ahs);
}
bool AttributedHalfSegment2D::operator!=(const AttributedHalfSegment2D& ahs)
{
return !((*this) == ahs);
}