class Object
{
+public:
+ sigc::signal<void> signal_moved;
+
protected:
Layout &layout;
Vector position;
Angle rotation;
Angle tilt;
+ Shape *shape;
- Object(Layout &l): layout(l) { }
+ Object(Layout &);
public:
virtual ~Object() { }
virtual bool break_link(unsigned) { return false; }
virtual void break_links();
- virtual bool collide_ray(const Ray &) const;
+ const Shape *get_shape() const;
+ virtual bool collide_ray(const Ray &, float * = 0) const;
virtual BoundingBox get_bounding_box() const;
};