00001
00002 #ifndef _SHAPEPOLYGON_H_
00003 #define _SHAPEPOLYGON_H_
00004
00005 #include "ShapeRoot.h"
00006 #include "ShapeLine.h"
00007 #include "PolygonData.h"
00008
00009 namespace DualCoding {
00010
00011 class ShapeSpace;
00012 class Point;
00013 class Region;
00014
00015 template<>
00016 class Shape<PolygonData> : public ShapeRoot {
00017 public:
00018 SHAPESTUFF_H(PolygonData);
00019
00020 Shape<PolygonData>(const LineData& side) : ShapeRoot(addShape(new PolygonData(side))) {};
00021
00022 Shape<PolygonData>(const Shape<LineData>& side)
00023 : ShapeRoot(addShape(new PolygonData(LineData(side.getSpace(), side->end1Pt(), side->end2Pt())))) {};
00024
00025 };
00026
00027 }
00028
00029 #endif