ValueNode_Random::ValueNode_Random(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
random.set_seed(time(NULL));
set_link("radius",ValueNode_Const::create(Real(1)));
LinkableValueNode::Vocab
ValueNode_Random::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link")
throw Exception::BadLinkName(name);
}
+int
+LinkableValueNode::link_count()const
+{
+ return get_children_vocab().size();
+}
+
LinkableValueNode::Vocab
LinkableValueNode::get_children_vocab()const
{
return get_children_vocab_vfunc();
}
+
+void
+LinkableValueNode::set_children_vocab(Vocab &newvocab)
+{
+ children_vocab.assign(newvocab.begin(),newvocab.end());
+}
public:
//! Returns the number of linked Value Nodes
- virtual int link_count()const=0;
+ virtual int link_count()const;
//! Returns the local name of the 'i' linked Value Node
virtual String link_local_name(int i)const;
virtual Vocab get_children_vocab()const;
protected:
+ //! Member to store the children vocabulary
+ Vocab children_vocab;
//! Sets the type of the ValueNode
void set_type(ValueBase::Type t) { ValueNode::set_type(t); }
//! Pure Virtual member to get the children vocabulary
virtual Vocab get_children_vocab_vfunc()const=0;
+
+ //! Virtual memebr to set the children vocabulary to a given value
+ virtual void set_children_vocab(Vocab& rvocab);
}; // END of class LinkableValueNode
/*! \class ValueNodeList
synfig::ValueNode_Add::ValueNode_Add(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("scalar",ValueNode_Const::create(Real(1.0)));
ValueBase::Type id(value.get_type());
ValueNode_And::ValueNode_And(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
bool value(x.get(bool()));
set_link("link1", ValueNode_Const::create(bool(true)));
LinkableValueNode::Vocab
ValueNode_And::get_children_vocab_vfunc() const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link1")
ValueNode_AngleString::ValueNode_AngleString(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_STRING:
ValueNode_Atan2::ValueNode_Atan2(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_ANGLE:
ValueNode_BLineCalcTangent::ValueNode_BLineCalcTangent(const ValueBase::Type &x):
LinkableValueNode(x)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
if(x!=ValueBase::TYPE_ANGLE && x!=ValueBase::TYPE_REAL && x!=ValueBase::TYPE_VECTOR)
throw Exception::BadType(ValueBase::type_local_name(x));
LinkableValueNode::Vocab
ValueNode_BLineCalcTangent::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"bline")
ValueNode_BLineCalcVertex::ValueNode_BLineCalcVertex(const ValueBase::Type &x):
LinkableValueNode(x)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
if(x!=ValueBase::TYPE_VECTOR)
throw Exception::BadType(ValueBase::type_local_name(x));
LinkableValueNode::Vocab
ValueNode_BLineCalcVertex::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"bline")
ValueNode_BLineCalcWidth::ValueNode_BLineCalcWidth(const ValueBase::Type &x):
LinkableValueNode(x)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
if(x!=ValueBase::TYPE_REAL)
throw Exception::BadType(ValueBase::type_local_name(x));
LinkableValueNode::Vocab
ValueNode_BLineCalcWidth::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"bline")
ValueNode_BLineRevTangent::ValueNode_BLineRevTangent(const ValueNode::Handle &x):
LinkableValueNode(x->get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
if(x->get_type()!=ValueBase::TYPE_BLINEPOINT)
throw Exception::BadType(ValueBase::type_local_name(x->get_type()));
LinkableValueNode::Vocab
ValueNode_BLineRevTangent::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"reference")
ValueNode_Compare::ValueNode_Compare(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
bool value(x.get(bool()));
set_link("lhs", ValueNode_Const::create(Real(0)));
LinkableValueNode::Vocab
ValueNode_Compare::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"lhs")
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:
LinkableValueNode::Vocab
ValueNode_Composite::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
switch(get_type())
ValueNode_Cos::ValueNode_Cos(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_REAL:
LinkableValueNode::Vocab
ValueNode_Cos::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"angle")
ValueNode_DotProduct::ValueNode_DotProduct(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_REAL:
LinkableValueNode::Vocab
ValueNode_DotProduct::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"lhs")
ValueNode_Duplicate::ValueNode_Duplicate(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("from", ValueNode_Const::create(Real(1.0)));
set_link("to", ValueNode_Const::create(x.get(Real())));
set_link("step", ValueNode_Const::create(Real(1.0)));
LinkableValueNode::Vocab
ValueNode_Duplicate::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"from")
ValueNode_Exp::ValueNode_Exp(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_REAL:
LinkableValueNode::Vocab
ValueNode_Exp::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"exp")
ValueNode_GradientColor::ValueNode_GradientColor(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_COLOR:
LinkableValueNode::Vocab
ValueNode_GradientColor::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"gradient")
synfig::ValueNode_GradientRotate::ValueNode_GradientRotate(const Gradient& x):
LinkableValueNode(synfig::ValueBase::TYPE_GRADIENT)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("gradient",ValueNode_Const::create(x));
set_link("offset",ValueNode_Const::create(Real(0)));
}
LinkableValueNode::Vocab
ValueNode_GradientRotate::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"gradient")
ValueNode_Greyed::ValueNode_Greyed(const ValueNode::Handle &x):
ValueNode_Reference(x->get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("link",x);
}
LinkableValueNode::Vocab
ValueNode_Greyed::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link")
ValueNode_Integer::ValueNode_Integer(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(x.get_type())
{
case ValueBase::TYPE_ANGLE:
LinkableValueNode::Vocab
ValueNode_Integer::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"integer")
ValueNode_IntString::ValueNode_IntString(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_STRING:
LinkableValueNode::Vocab
ValueNode_IntString::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"int")
ValueNode_Join::ValueNode_Join(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_STRING:
LinkableValueNode::Vocab
ValueNode_Join::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"strings")
ValueNode_Linear::ValueNode_Linear(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(get_type())
{
case ValueBase::TYPE_ANGLE:
LinkableValueNode::Vocab
ValueNode_Linear::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
switch(get_type())
ValueNode_Logarithm::ValueNode_Logarithm(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
Real value(x.get(Real()));
Real infinity(999999.0);
Real epsilon(0.000001);
LinkableValueNode::Vocab
ValueNode_Logarithm::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link")
ValueNode_Not::ValueNode_Not(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
bool value(x.get(bool()));
set_link("link", ValueNode_Const::create(!value));
LinkableValueNode::Vocab
ValueNode_Not::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link")
ValueNode_Or::ValueNode_Or(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
bool value(x.get(bool()));
set_link("link1", ValueNode_Const::create(bool(false)));
LinkableValueNode::Vocab
ValueNode_Or::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link1")
ValueNode_Pow::ValueNode_Pow(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
Real value(x.get(Real()));
Real infinity(999999.0);
Real epsilon(0.000001);
LinkableValueNode::Vocab
ValueNode_Pow::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"base")
synfig::ValueNode_RadialComposite::ValueNode_RadialComposite(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(get_type())
{
case ValueBase::TYPE_VECTOR:
LinkableValueNode::Vocab
ValueNode_RadialComposite::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
switch(get_type())
synfig::ValueNode_Range::ValueNode_Range(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
ValueBase::Type id(value.get_type());
switch(id)
LinkableValueNode::Vocab
ValueNode_Range::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"min")
ValueNode_RealString::ValueNode_RealString(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_STRING:
LinkableValueNode::Vocab
ValueNode_RealString::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"real")
ValueNode_Reciprocal::ValueNode_Reciprocal(const ValueBase &x):
LinkableValueNode(x.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
Real value(x.get(Real()));
Real infinity(999999.0);
Real epsilon(0.000001);
LinkableValueNode::Vocab
ValueNode_Reciprocal::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link")
ValueNode_Reference::ValueNode_Reference(const ValueNode::Handle &x):
LinkableValueNode(x->get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("link",x);
}
LinkableValueNode::Vocab
ValueNode_Reference::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link")
synfig::ValueNode_Repeat_Gradient::ValueNode_Repeat_Gradient(const Gradient& x):LinkableValueNode(synfig::ValueBase::TYPE_GRADIENT)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("gradient",ValueNode_Const::create(x));
set_link("count",count_=ValueNode_Const::create(int(3)));
set_link("width",ValueNode_Const::create(0.5));
LinkableValueNode::Vocab
ValueNode_Repeat_Gradient::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"gradient")
ValueNode_Scale::ValueNode_Scale(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("scalar",ValueNode::Handle(ValueNode_Const::create(Real(1.0))));
ValueBase::Type id(value.get_type());
LinkableValueNode::Vocab
ValueNode_Scale::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link")
ValueNode_SegCalcTangent::ValueNode_SegCalcTangent(const ValueBase::Type &x):
LinkableValueNode(x)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
if(x!=ValueBase::TYPE_VECTOR)
throw Exception::BadType(ValueBase::type_local_name(x));
LinkableValueNode::Vocab
ValueNode_SegCalcTangent::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"segment")
ValueNode_SegCalcVertex::ValueNode_SegCalcVertex(const ValueBase::Type &x):
LinkableValueNode(x)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
if(x!=ValueBase::TYPE_VECTOR)
throw Exception::BadType(ValueBase::type_local_name(x));
LinkableValueNode::Vocab
ValueNode_SegCalcVertex::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"segment")
ValueNode_Sine::ValueNode_Sine(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_REAL:
LinkableValueNode::Vocab
ValueNode_Sine::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"angle")
ValueNode_Step::ValueNode_Step(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("duration", ValueNode_Const::create(Time(1)));
set_link("start_time", ValueNode_Const::create(Time(0)));
set_link("intersection", ValueNode_Const::create(Real(0.5)));
LinkableValueNode::Vocab
ValueNode_Step::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link")
synfig::ValueNode_Stripes::ValueNode_Stripes():LinkableValueNode(synfig::ValueBase::TYPE_GRADIENT)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("color1",ValueNode_Const::create(Color::alpha()));
set_link("color2",ValueNode_Const::create(Color::black()));
set_link("stripes",stripes_=ValueNode_Const::create(int(5)));
LinkableValueNode::Vocab
ValueNode_Stripes::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"color1")
synfig::ValueNode_Subtract::ValueNode_Subtract(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("scalar",ValueNode_Const::create(Real(1.0)));
ValueBase::Type id(value.get_type());
LinkableValueNode::Vocab
ValueNode_Subtract::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"lhs")
ValueNode_Switch::ValueNode_Switch(const ValueNode::Handle &x):
LinkableValueNode(x->get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("link_off",x);
set_link("link_on",x);
set_link("switch",ValueNode_Const::create(bool(false)));
LinkableValueNode::Vocab
ValueNode_Switch::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"link_off")
ValueNode_TimedSwap::ValueNode_TimedSwap(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(get_type())
{
case ValueBase::TYPE_ANGLE:
LinkableValueNode::Vocab
ValueNode_TimedSwap::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"before")
ValueNode_TimeLoop::ValueNode_TimeLoop(const ValueNode::Handle &x):
LinkableValueNode(x->get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
set_link("link", x);
set_link("link_time", ValueNode_Const::create(Time(0)));
set_link("local_time", ValueNode_Const::create(Time(0)));
LinkableValueNode::Vocab
ValueNode_TimeLoop::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc("link")
ValueNode_TimeString::ValueNode_TimeString(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_STRING:
LinkableValueNode::Vocab
ValueNode_TimeString::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"time")
synfig::ValueNode_TwoTone::ValueNode_TwoTone(const ValueBase &value):LinkableValueNode(synfig::ValueBase::TYPE_GRADIENT)
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_GRADIENT:
LinkableValueNode::Vocab
ValueNode_TwoTone::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"color1")
ValueNode_VectorAngle::ValueNode_VectorAngle(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_ANGLE:
LinkableValueNode::Vocab
ValueNode_VectorAngle::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"vector")
ValueNode_VectorLength::ValueNode_VectorLength(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_REAL:
LinkableValueNode::Vocab
ValueNode_VectorLength::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"vector")
ValueNode_VectorX::ValueNode_VectorX(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_REAL:
LinkableValueNode::Vocab
ValueNode_VectorX::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"vector")
ValueNode_VectorY::ValueNode_VectorY(const ValueBase &value):
LinkableValueNode(value.get_type())
{
+ Vocab ret(get_children_vocab());
+ set_children_vocab(ret);
switch(value.get_type())
{
case ValueBase::TYPE_REAL:
LinkableValueNode::Vocab
ValueNode_VectorY::get_children_vocab_vfunc()const
{
+ if(children_vocab.size())
+ return children_vocab;
+
LinkableValueNode::Vocab ret;
ret.push_back(ParamDesc(ValueBase(),"vector")