+ void set_split_tangent_flag(bool x=true) { link_radius_=link_theta_=!x; normalize();}
+
+ const bool& get_link_radius_flag()const { return link_radius_; }
+ void set_link_radius_flag(bool x=true) { link_radius_=x; normalize();}
+
+ const bool& get_link_theta_flag()const { return link_theta_; }
+ void set_link_theta_flag(bool x=true) { link_theta_=x; normalize();}
+
+ //normalize tangents, i.e. make sure their values correspond to the linkage
+ void normalize(int i=0);