X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Fvaluenode_composite.cpp;h=cf9c3be06598c7b00f45d03815d104f61c181bc7;hb=HEAD;hp=7e18ea026d6f301f221b77afa1a9a50ef325b456;hpb=adfc80c126f482d7ea2bac38001a2c4a7c7df88c;p=synfig.git diff --git a/synfig-core/src/synfig/valuenode_composite.cpp b/synfig-core/src/synfig/valuenode_composite.cpp index 7e18ea0..cf9c3be 100644 --- a/synfig-core/src/synfig/valuenode_composite.cpp +++ b/synfig-core/src/synfig/valuenode_composite.cpp @@ -7,6 +7,7 @@ ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** Copyright (c) 2008 Chris Moore +** Copyright (c) 2009 Nikita Kitaev ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -59,6 +60,8 @@ using namespace synfig; synfig::ValueNode_Composite::ValueNode_Composite(const ValueBase &value): LinkableValueNode(value.get_type()) { + Vocab ret(get_children_vocab()); + set_children_vocab(ret); switch(get_type()) { case ValueBase::TYPE_VECTOR: @@ -80,12 +83,12 @@ synfig::ValueNode_Composite::ValueNode_Composite(const ValueBase &value): case ValueBase::TYPE_BLINEPOINT: { BLinePoint bline_point(value); - set_link(0,ValueNode_Const::create(bline_point.get_vertex())); - set_link(1,ValueNode_Const::create(bline_point.get_width())); - set_link(2,ValueNode_Const::create(bline_point.get_origin())); - set_link(3,ValueNode_Const::create(bline_point.get_split_tangent_flag())); - set_link(4,ValueNode_RadialComposite::create(bline_point.get_tangent1())); - set_link(5,ValueNode_RadialComposite::create(bline_point.get_tangent2())); + set_link("point",ValueNode_Const::create(bline_point.get_vertex())); + set_link("width",ValueNode_Const::create(bline_point.get_width())); + set_link("origin",ValueNode_Const::create(bline_point.get_origin())); + set_link("split",ValueNode_Const::create(bline_point.get_split_tangent_flag())); + set_link("t1",ValueNode_RadialComposite::create(bline_point.get_tangent1())); + set_link("t2",ValueNode_RadialComposite::create(bline_point.get_tangent2())); break; } default: @@ -167,25 +170,6 @@ synfig::ValueNode_Composite::operator()(Time t)const } } -int -ValueNode_Composite::link_count()const -{ - switch(get_type()) - { - case ValueBase::TYPE_VECTOR: - return 2; - case ValueBase::TYPE_COLOR: - return 4; - case ValueBase::TYPE_SEGMENT: - return 4; - case ValueBase::TYPE_BLINEPOINT: - return 6; - default: - synfig::warning(string("ValueNode_Composite::component_count():")+_("Bad type for composite")); - return 1; - } -} - bool ValueNode_Composite::set_link_vfunc(int i,ValueNode::Handle x) { @@ -256,60 +240,6 @@ ValueNode_Composite::get_link_vfunc(int i)const } String -ValueNode_Composite::link_local_name(int i)const -{ - assert(i>=0 && i=0 && i