ValueNode_DynamicList::Handle bline_value_node(ValueNode_DynamicList::Handle::cast_dynamic(value_desc.get_parent_value_node()));
bool loop(bline_value_node->get_loop());
int loop_adjust(loop ? 0 : -1);
- const std::vector<ValueBase> bline((*bline_value_node)(time));
+ const std::vector<ValueBase> bline((*bline_value_node)(time).get_list());
int size = bline.size();
Real amount = (index + origin + loop_adjust) / (size + loop_adjust);
LinkableValueNode::Handle calculated_value_node;
calculated_value_node = ValueNode_BLineCalcTangent::create(ValueBase::TYPE_VECTOR);
else if (link_name == "width")
calculated_value_node = ValueNode_BLineCalcWidth::create(ValueBase::TYPE_REAL);
+ else if (link_name == "point")
+ calculated_value_node = ValueNode_BLineCalcVertex::create(ValueBase::TYPE_VECTOR);
else
{
synfig::warning("can't link '%s'", link_name.c_str());
// REAL layer parameter
else if (value_desc.get_value_type() == ValueBase::TYPE_REAL)
calculated_value_node = ValueNode_BLineCalcWidth::create(ValueBase::TYPE_REAL);
+ // ANGLE layer parameter
+ else if (value_desc.get_value_type() == ValueBase::TYPE_ANGLE)
+ calculated_value_node = ValueNode_BLineCalcTangent::create(ValueBase::TYPE_ANGLE);
else
continue;