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 };