#ifndef TRIANGLE_H_ #define TRIANGLE_H_ #include "Vertex.h" #include "Line.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; float area() const; float perimeter() const; bool contains(const Vertex &v) const; bool onEdge(const Vertex &v) const; int intersectionCount(const Line &l) const; }; #endif /*TRIANGLE_H_*/