- synfig::Real radius = 0.0;
- ValueNode_BLine::Handle bline(ValueNode_BLine::Handle::cast_dynamic(bline_vertex->get_link(bline_vertex->get_link_index_from_name("bline"))));
- Real amount = synfig::find_closest_point((*bline)(time), duck->get_point(), radius, bline->get_loop());
-
- // we need to update the position of the tangent ducks - but how do we find these ducks?
- // this is a brute force search - but is there a better way to do it?
- if (bline_tangent_1)
- {
- Vector tangent = (*bline_tangent_1)(time, amount).get(Vector());
- DuckList::iterator iter;
- for (iter=duck_list.begin(); iter!=duck_list.end(); iter++)
- if ((*iter)->get_value_desc().get_value_node() == t1_value_node)
- (*iter)->set_point(tangent);
- }
-
- if (bline_tangent_2)
- {
- Vector tangent = (*bline_tangent_2)(time, amount).get(Vector());
- DuckList::iterator iter;
- for (iter=duck_list.begin(); iter!=duck_list.end(); iter++)
- if ((*iter)->get_value_desc().get_value_node() == t2_value_node)
- (*iter)->set_point(tangent);
- }
-
- if (bline_width)