#ifndef _SEGMENT_HPP_ #define _SEGMENT_HPP_ #include #include class Segment { public: Segment(void); Segment(const Point &firstPoint,const Point &secondPoint,WORD vectorIndex); Segment(const Segment &someSegment); WORD operator==(const Segment &someSegment)const; void operator=(const Segment &someSegment); void drawSegment(HDC hDC,HPEN hPen=0)const; WORD vectorIndex(void)const; WORD xFirst(void)const; WORD xSecond(void)const; WORD yFirst(void)const; WORD ySecond(void)const; Point firstPoint(void)const; Point secondPoint(void)const; Point leadingPoint(void)const; void firstPoint(const Point &somePoint); void secondPoint(const Point &somePoint); ~Segment(void); private: Point mFirstPoint; Point mSecondPoint; WORD mVectorIndex; }; inline WORD Segment::xFirst(void)const { return mFirstPoint.xPoint(); } inline WORD Segment::xSecond(void)const { return mSecondPoint.xPoint(); } inline WORD Segment::yFirst(void)const { return mFirstPoint.yPoint(); } inline WORD Segment::ySecond(void)const { return mSecondPoint.yPoint(); } inline Point Segment::firstPoint(void)const { return mFirstPoint; } inline Point Segment::secondPoint(void)const { return mSecondPoint; } inline void Segment::firstPoint(const Point &somePoint) { mFirstPoint=somePoint; } inline void Segment::secondPoint(const Point &somePoint) { mSecondPoint=somePoint; } inline Point Segment::leadingPoint(void)const { return (mFirstPoint.yPoint()