+ virtual unsigned get_n_snap_nodes() const;
+ virtual Snap get_snap_node(unsigned) const;
+ virtual bool snap(Snap &, float, SnapType = SNAP_DEFAULT) const;
+private:
+ virtual SnapType get_default_snap_type_to(const Object &) const;
+
+public:
+ virtual unsigned get_n_link_slots() const;
+ virtual Track *get_link(unsigned) const;
+ const std::vector<Track *> &get_links() const { return links; }
+ virtual int get_link_slot(const Object &) const;
+ virtual bool link_to(Object &);
+ using Object::break_link;
+ virtual bool break_link(unsigned);
+
+ virtual bool collide_ray(const Vector &, const Vector &) const;
+