00001
00002 #ifndef _SHAPELINE_H_
00003 #define _SHAPELINE_H_
00004
00005 #include "Shared/Measures.h"
00006 #include "ShapeRoot.h"
00007 #include "LineData.h"
00008
00009 namespace DualCoding {
00010
00011 class ShapeSpace;
00012 class Point;
00013
00014
00015 template<> class Shape<LineData> : public ShapeRoot {
00016 public:
00017
00018 SHAPESTUFF_H(LineData);
00019
00020
00021 Shape<LineData>(ShapeSpace &s, const Point &end1pt, const Point &end2pt)
00022 : ShapeRoot(addShape(new LineData(s, end1pt, end2pt))) { };
00023
00024
00025 Shape<LineData>(ShapeSpace &s, const Point &colinear_pt, AngPi orientation);
00026
00027
00028 Shape<LineData>(ShapeSpace &s, const Point &colinear_pt, Slope slope);
00029
00030
00031 Shape<LineData>(const LineData& newData) : ShapeRoot(addShape(new LineData(newData))) {};
00032
00033 };
00034
00035 }
00036
00037 #endif