/* Edge.h * * Interface definition for the Edge class, which stores edge data and can * detect path intersection (collision). */ #ifndef EDGE_H_INCLUDED #define EDGE_H_INCLUDED 1 #include "Obstruction.h" #include "Vertex.h" class Edge : public Obstruction { private: // Member Variables (akin to Triangle members, refer to Triangle.h) Vertex* v1_; Vertex* v2_; Tuple sv1_; Tuple sv2_; Tuple direction_; Tuplex rotation_; public: // Constructors/Destructor Edge(Vertex* v1, Vertex* v2); virtual ~Edge(); // Member Functions virtual void draw(bool light) const; // Does nothing virtual const double pathIntersect( // Check if path hits edge const Path& path, double radius) const; virtual const Tuple calcNormal( // Find normal relative to some pos const Tuple& point) const; }; #endif // EDGE_H_INCLUDED