diff options
Diffstat (limited to 'Triangle.h')
-rw-r--r-- | Triangle.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Triangle.h b/Triangle.h new file mode 100644 index 0000000..b0a7a2e --- /dev/null +++ b/Triangle.h @@ -0,0 +1,39 @@ +#ifndef TRIANGLE_H_ +#define TRIANGLE_H_ + + +#include "Vertex.h" + +class Triangle { + private: + Vertex va, vb, vc; + public: + enum Direction { + CW, CCW, Unknown + }; + + Triangle() {} + Triangle(const Vertex& vertexa, const Vertex& vertexb, const Vertex& vertexc) + : va(vertexa), vb(vertexb), vc(vertexc) {} + + Vertex &getVertexA() {return va;} + const Vertex &getVertexA() const {return va;} + void setVertexA(const Vertex &v) {va = v;} + + Vertex &getVertexB() {return vb;} + const Vertex &getVertexB() const {return vb;} + void setVertexB(const Vertex &v) {vb = v;} + + Vertex &getVertexC() {return vc;} + const Vertex &getVertexC() const {return vc;} + void setVertexC(const Vertex &v) {vc = v;} + + Direction getDirection() const; + + double area() const; + double perimeter() const; + + bool contains(const Vertex &v) const; +}; + +#endif /*TRIANGLE_H_*/ |