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;
//! Return a full description of the linked ValueNode given by the index
String get_description(int index = -1, bool show_exported_name = true)const;
- //! Gets the parameter vocabulary for linkable value nodes
- virtual Vocab get_param_vocab()const=0;
+ //! Gets the children vocabulary for linkable value nodes
+ 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); }
//! Returns the cached times values for all the children (linked Value Nodes)
virtual void get_times_vfunc(Node::time_set &set) const;
+
+ //! 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