- ValueNode_BLineCalcVertex::Handle bline_vertex(ValueNode_BLineCalcVertex::Handle::cast_dynamic(duck->get_value_desc().get_value_node()));
- if (bline_vertex)
- {
- ValueNode_Composite::Handle value_node_composite(ValueNode_Composite::Handle::cast_dynamic(duck->get_value_desc().get_parent_value_node()));
- if (value_node_composite &&
- value_node_composite->get_type() == ValueBase::TYPE_BLINEPOINT)
- {
- int t1_index(value_node_composite->get_link_index_from_name("t1"));
- int t2_index(value_node_composite->get_link_index_from_name("t2"));
- int width_index(value_node_composite->get_link_index_from_name("width"));
-
- ValueNode::Handle t1_value_node(value_node_composite->get_link(t1_index));
- ValueNode::Handle t2_value_node(value_node_composite->get_link(t2_index));
- ValueNode::Handle width_value_node(value_node_composite->get_link(width_index));
-
- ValueNode_BLineCalcTangent::Handle bline_tangent_1(ValueNode_BLineCalcTangent::Handle::cast_dynamic(t1_value_node));
- ValueNode_BLineCalcTangent::Handle bline_tangent_2(ValueNode_BLineCalcTangent::Handle::cast_dynamic(t2_value_node));
- ValueNode_BLineCalcWidth::Handle bline_width(ValueNode_BLineCalcWidth::Handle::cast_dynamic(width_value_node));