00001 typedef boost::shared_ptr<shape> ShapePtr;
00002
00003 class shape {
00004 virtual ~shape();
00005 };
00006
00007 class shapeCircle : public shape {
00008 tValue::Base() x;
00009 tValue::Base() y;
00010 tValue::Base() radius;
00011
00012 public :
00013 shapeCircle(tValue::Base() _x, tValue::Base() _y, tValue::Base() _radius): x(_x), y(_y), radius(_radius) { };
00014
00015 };
00016
00017 class shapeTriangle : public shape {
00018 tValue::Base() x1;
00019 tValue::Base() y1;
00020 tValue::Base() x2;
00021 tValue::Base() y2;
00022 tValue::Base() x3;
00023 tValue::Base() y3;
00024
00025 public:
00026 shapeSquare(tValue::Base() _x1, tValue::Base() _y1,
00027 tValue::Base() _x2, tValue::Base() _y2,
00028 tValue::Base() _x3, tValue::Base() _y3,
00029 ):
00030 x1(_x1), y1(_y1),
00031 x2(_x2), y2(_y2),
00032 x3(_x3), y3(_y3)
00033 {};
00034 };