# synfig::ValueNode Class Reference

`#include <valuenode.h>`

Inheritance diagram for synfig::ValueNode:

List of all members.

## Public Types

typedef etl::handle< ValueNode > | Handle
typedef etl::loose_handle < ValueNode > | LooseHandle
typedef etl::handle< const ValueNode > | ConstHandle
typedef etl::rhandle< ValueNode > | RHandle

## Public Member Functions

sigc::signal< void > & | signal_value_changed ()
| ValueBase Changed.
sigc::signal< void, int * > & | signal_children_reordered ()
| Children Reordered.
sigc::signal< void, int > & | signal_child_changed ()
| Child Changed.
sigc::signal< void, int > & | signal_child_removed ()
| Child Removed.
sigc::signal< void, int > & | signal_child_inserted ()
| Child Inserted.
sigc::signal< void > & | signal_id_changed ()
| ID Changed.
virtual | ~ValueNode ()
virtual ValueBase | operator() (Time) const
| Returns the value of the ValueNode at time t.
void | set_id (const String &x)
const String & | get_id () const
| Returns the id of the ValueNode.
virtual String | get_name () const =0
| Returns the name of the ValueNode type.
virtual String | get_local_name () const =0
| Returns the localized name of the ValueNode type.
virtual String | get_description (bool show_exported_name=true) const
| Return a full description of the ValueNode and its parentage.
virtual ValueNode * | clone (const GUID &deriv_guid=GUID()) const =0
bool | is_exported () const
ValueBase::Type | get_type () const
| Returns the type of the ValueNode.
etl::loose_handle< Canvas > | get_parent_canvas () const
| Returns a handle to the parent canvas, if it has one.
etl::loose_handle< Canvas > | get_root_canvas () const
| Returns a handle to the parent canvas, if it has one.
void | set_parent_canvas (etl::loose_handle< Canvas > x)
void | set_root_canvas (etl::loose_handle< Canvas > x)
String | get_relative_id (etl::loose_handle< const Canvas > x) const
int | replace (etl::handle< ValueNode > x)
| DCAST_HACK_BASECLASS ()
| DCAST_HACK_ID (0)

## Static Public Member Functions

static bool | subsys_init ()
static bool | subsys_stop ()

## Protected Member Functions

| ValueNode (ValueBase::Type type=ValueBase::TYPE_NIL)
void | set_type (ValueBase::Type t)
| Sets the type of the ValueNode.
virtual void | on_changed ()

## Friends

class | Layer
class | LinkableValueNode

## Detailed Description

Todo:
  writeme

## Member Typedef Documentation

typedef etl::handle<ValueNode> synfig::ValueNode::Handle

Reimplemented in synfig::ValueNode_Random, synfig::PlaceholderValueNode, synfig::LinkableValueNode, synfig::ValueNode_Add, synfig::ValueNode_And, synfig::ValueNode_AngleString, synfig::ValueNode_Animated, synfig::ValueNode_Atan2, synfig::ValueNode_BLine, synfig::ValueNode_BLineCalcTangent, synfig::ValueNode_BLineCalcVertex, synfig::ValueNode_BLineCalcWidth, synfig::ValueNode_BLineRevTangent, synfig::ValueNode_Compare, synfig::ValueNode_Composite, synfig::ValueNode_Const, synfig::ValueNode_Cos, synfig::ValueNode_DotProduct, synfig::ValueNode_Duplicate, synfig::ValueNode_DynamicList, synfig::ValueNode_Exp, synfig::ValueNode_GradientColor, synfig::ValueNode_GradientRotate, synfig::ValueNode_Greyed, synfig::ValueNode_Integer, synfig::ValueNode_IntString, synfig::ValueNode_Join, synfig::ValueNode_Linear, synfig::ValueNode_Logarithm, synfig::ValueNode_Not, synfig::ValueNode_Or, synfig::ValueNode_Pow, synfig::ValueNode_RadialComposite, synfig::ValueNode_Range, synfig::ValueNode_RealString, synfig::ValueNode_Reciprocal, synfig::ValueNode_Reference, synfig::ValueNode_Repeat_Gradient, synfig::ValueNode_Scale, synfig::ValueNode_SegCalcTangent, synfig::ValueNode_SegCalcVertex, synfig::ValueNode_Sine, synfig::ValueNode_Step, synfig::ValueNode_Stripes, synfig::ValueNode_Subtract, synfig::ValueNode_Switch, synfig::ValueNode_TimedSwap, synfig::ValueNode_TimeLoop, synfig::ValueNode_TimeString, synfig::ValueNode_TwoTone, synfig::ValueNode_VectorAngle, synfig::ValueNode_VectorLength, synfig::ValueNode_VectorX, and synfig::ValueNode_VectorY.

typedef etl::loose_handle<ValueNode> synfig::ValueNode::LooseHandle

Reimplemented in synfig::PlaceholderValueNode, and synfig::LinkableValueNode.

typedef etl::handle<const ValueNode> synfig::ValueNode::ConstHandle

Reimplemented in synfig::ValueNode_Random, synfig::PlaceholderValueNode, synfig::LinkableValueNode, synfig::ValueNode_Add, synfig::ValueNode_And, synfig::ValueNode_AngleString, synfig::ValueNode_Animated, synfig::ValueNode_Atan2, synfig::ValueNode_BLine, synfig::ValueNode_BLineCalcTangent, synfig::ValueNode_BLineCalcVertex, synfig::ValueNode_BLineCalcWidth, synfig::ValueNode_BLineRevTangent, synfig::ValueNode_Compare, synfig::ValueNode_Composite, synfig::ValueNode_Const, synfig::ValueNode_Cos, synfig::ValueNode_DotProduct, synfig::ValueNode_Duplicate, synfig::ValueNode_DynamicList, synfig::ValueNode_Exp, synfig::ValueNode_GradientColor, synfig::ValueNode_GradientRotate, synfig::ValueNode_Integer, synfig::ValueNode_IntString, synfig::ValueNode_Join, synfig::ValueNode_Linear, synfig::ValueNode_Logarithm, synfig::ValueNode_Not, synfig::ValueNode_Or, synfig::ValueNode_Pow, synfig::ValueNode_RadialComposite, synfig::ValueNode_Range, synfig::ValueNode_RealString, synfig::ValueNode_Reciprocal, synfig::ValueNode_Reference, synfig::ValueNode_Repeat_Gradient, synfig::ValueNode_Scale, synfig::ValueNode_SegCalcTangent, synfig::ValueNode_SegCalcVertex, synfig::ValueNode_Sine, synfig::ValueNode_Step, synfig::ValueNode_Stripes, synfig::ValueNode_Subtract, synfig::ValueNode_Switch, synfig::ValueNode_TimedSwap, synfig::ValueNode_TimeLoop, synfig::ValueNode_TimeString, synfig::ValueNode_TwoTone, synfig::ValueNode_VectorAngle, synfig::ValueNode_VectorLength, synfig::ValueNode_VectorX, and synfig::ValueNode_VectorY.

typedef etl::rhandle<ValueNode> synfig::ValueNode::RHandle

Reimplemented in synfig::PlaceholderValueNode, and synfig::LinkableValueNode.

## Constructor & Destructor Documentation

ValueNode::ValueNode | ( | ValueBase::Type | type = `ValueBase::TYPE_NIL` | ) | `[protected]`

References value_node_count().

ValueNode::~ValueNode | ( |  | ) | `[virtual]`

References synfig::Node::begin_delete(), and value_node_count().

## Member Function Documentation

bool ValueNode::subsys_init | ( |  | ) | `[static]`

References _, ADD_VALUENODE, ADD_VALUENODE2, book_, synfig::RELEASE_VERSION_0_61_06, synfig::RELEASE_VERSION_0_61_07, synfig::RELEASE_VERSION_0_61_08, synfig::RELEASE_VERSION_0_61_09, and synfig::RELEASE_VERSION_0_61_10.

Referenced by synfig::Main::Main().

bool ValueNode::subsys_stop | ( |  | ) | `[static]`

References book_.

Referenced by synfig::Main::~Main().

sigc::signal<void>& synfig::ValueNode::signal_value_changed | ( |  | ) | `[inline]`

ValueBase Changed.

sigc::signal<void,int*>& synfig::ValueNode::signal_children_reordered | ( |  | ) | `[inline]`

Children Reordered.

sigc::signal<void,int>& synfig::ValueNode::signal_child_changed | ( |  | ) | `[inline]`

Child Changed.

sigc::signal<void,int>& synfig::ValueNode::signal_child_removed | ( |  | ) | `[inline]`

Child Removed.

sigc::signal<void,int>& synfig::ValueNode::signal_child_inserted | ( |  | ) | `[inline]`

Child Inserted.

sigc::signal<void>& synfig::ValueNode::signal_id_changed | ( |  | ) | `[inline]`

ID Changed.

virtual ValueBase synfig::ValueNode::operator() | ( | Time |  | ) | const`[inline, virtual]`

Returns the value of the ValueNode at time t.

Reimplemented in synfig::ValueNode_Random, synfig::PlaceholderValueNode, synfig::ValueNode_Add, synfig::ValueNode_And, synfig::ValueNode_AngleString, synfig::ValueNode_Atan2, synfig::ValueNode_BLine, synfig::ValueNode_BLineCalcTangent, synfig::ValueNode_BLineCalcVertex, synfig::ValueNode_BLineCalcWidth, synfig::ValueNode_BLineRevTangent, synfig::ValueNode_Compare, synfig::ValueNode_Composite, synfig::ValueNode_Const, synfig::ValueNode_Cos, synfig::ValueNode_DotProduct, synfig::ValueNode_Duplicate, synfig::ValueNode_DynamicList, synfig::ValueNode_Exp, synfig::ValueNode_GradientColor, synfig::ValueNode_GradientRotate, synfig::ValueNode_Integer, synfig::ValueNode_IntString, synfig::ValueNode_Join, synfig::ValueNode_Linear, synfig::ValueNode_Logarithm, synfig::ValueNode_Not, synfig::ValueNode_Or, synfig::ValueNode_Pow, synfig::ValueNode_RadialComposite, synfig::ValueNode_Range, synfig::ValueNode_RealString, synfig::ValueNode_Reciprocal, synfig::ValueNode_Reference, synfig::ValueNode_Repeat_Gradient, synfig::ValueNode_Scale, synfig::ValueNode_SegCalcTangent, synfig::ValueNode_SegCalcVertex, synfig::ValueNode_Sine, synfig::ValueNode_Step, synfig::ValueNode_Stripes, synfig::ValueNode_Subtract, synfig::ValueNode_Switch, synfig::ValueNode_TimedSwap, synfig::ValueNode_TimeLoop, synfig::ValueNode_TimeString, synfig::ValueNode_TwoTone, synfig::ValueNode_VectorAngle, synfig::ValueNode_VectorLength, synfig::ValueNode_VectorX, and synfig::ValueNode_VectorY.

void ValueNode::set_id | ( | const String & | x | ) |

For internal use only.

Sets the id of the ValueNode

const String& synfig::ValueNode::get_id | ( |  | ) | const`[inline]`

Returns the id of the ValueNode.

The ID is used for keeping track of a specific instance of a ValueNode.

Referenced by synfig::LinkableValueNode::get_description(), get_description(), get_relative_id(), and is_exported().

virtual String synfig::ValueNode::get_name | ( |  | ) | const`[pure virtual]`

Returns the name of the ValueNode type.

Implemented in synfig::ValueNode_Random, synfig::PlaceholderValueNode, synfig::ValueNode_Add, synfig::ValueNode_And, synfig::ValueNode_AngleString, synfig::ValueNode_Animated, synfig::ValueNode_Atan2, synfig::ValueNode_BLine, synfig::ValueNode_BLineCalcTangent, synfig::ValueNode_BLineCalcVertex, synfig::ValueNode_BLineCalcWidth, synfig::ValueNode_BLineRevTangent, synfig::ValueNode_Compare, synfig::ValueNode_Composite, synfig::ValueNode_Const, synfig::ValueNode_Cos, synfig::ValueNode_DotProduct, synfig::ValueNode_Duplicate, synfig::ValueNode_DynamicList, synfig::ValueNode_Exp, synfig::ValueNode_GradientColor, synfig::ValueNode_GradientRotate, synfig::ValueNode_Greyed, synfig::ValueNode_Integer, synfig::ValueNode_IntString, synfig::ValueNode_Join, synfig::ValueNode_Linear, synfig::ValueNode_Logarithm, synfig::ValueNode_Not, synfig::ValueNode_Or, synfig::ValueNode_Pow, synfig::ValueNode_RadialComposite, synfig::ValueNode_Range, synfig::ValueNode_RealString, synfig::ValueNode_Reciprocal, synfig::ValueNode_Reference, synfig::ValueNode_Repeat_Gradient, synfig::ValueNode_Scale, synfig::ValueNode_SegCalcTangent, synfig::ValueNode_SegCalcVertex, synfig::ValueNode_Sine, synfig::ValueNode_Step, synfig::ValueNode_Stripes, synfig::ValueNode_Subtract, synfig::ValueNode_Switch, synfig::ValueNode_TimedSwap, synfig::ValueNode_TimeLoop, synfig::ValueNode_TimeString, synfig::ValueNode_TwoTone, synfig::ValueNode_VectorAngle, synfig::ValueNode_VectorLength, synfig::ValueNode_VectorX, and synfig::ValueNode_VectorY.

virtual String synfig::ValueNode::get_local_name | ( |  | ) | const`[pure virtual]`

Returns the localized name of the ValueNode type.

Implemented in synfig::ValueNode_Random, synfig::PlaceholderValueNode, synfig::ValueNode_Add, synfig::ValueNode_And, synfig::ValueNode_AngleString, synfig::ValueNode_Animated, synfig::ValueNode_Atan2, synfig::ValueNode_BLine, synfig::ValueNode_BLineCalcTangent, synfig::ValueNode_BLineCalcVertex, synfig::ValueNode_BLineCalcWidth, synfig::ValueNode_BLineRevTangent, synfig::ValueNode_Compare, synfig::ValueNode_Composite, synfig::ValueNode_Const, synfig::ValueNode_Cos, synfig::ValueNode_DotProduct, synfig::ValueNode_Duplicate, synfig::ValueNode_DynamicList, synfig::ValueNode_Exp, synfig::ValueNode_GradientColor, synfig::ValueNode_GradientRotate, synfig::ValueNode_Greyed, synfig::ValueNode_Integer, synfig::ValueNode_IntString, synfig::ValueNode_Join, synfig::ValueNode_Linear, synfig::ValueNode_Logarithm, synfig::ValueNode_Not, synfig::ValueNode_Or, synfig::ValueNode_Pow, synfig::ValueNode_RadialComposite, synfig::ValueNode_Range, synfig::ValueNode_RealString, synfig::ValueNode_Reciprocal, synfig::ValueNode_Reference, synfig::ValueNode_Repeat_Gradient, synfig::ValueNode_Scale, synfig::ValueNode_SegCalcTangent, synfig::ValueNode_SegCalcVertex, synfig::ValueNode_Sine, synfig::ValueNode_Step, synfig::ValueNode_Stripes, synfig::ValueNode_Subtract, synfig::ValueNode_Switch, synfig::ValueNode_TimedSwap, synfig::ValueNode_TimeLoop, synfig::ValueNode_TimeString, synfig::ValueNode_TwoTone, synfig::ValueNode_VectorAngle, synfig::ValueNode_VectorLength, synfig::ValueNode_VectorX, and synfig::ValueNode_VectorY.

String ValueNode::get_description | ( | bool | show_exported_name = `true` | ) | const`[virtual]`

Return a full description of the ValueNode and its parentage.

References _, get_id(), and is_exported().

virtual ValueNode* synfig::ValueNode::clone | ( | const GUID & | deriv_guid = `GUID()` | ) | const`[pure virtual]`

Todo:
  This needs to be documented further.

Implemented in synfig::ValueNode_Random, synfig::PlaceholderValueNode, synfig::LinkableValueNode, synfig::ValueNode_Const, and synfig::ValueNode_DynamicList.

bool synfig::ValueNode::is_exported | ( |  | ) | const`[inline]`

Todo:
  This needs to be documented further.

References get_id().

Referenced by synfig::LinkableValueNode::get_description(), get_description(), and get_relative_id().

ValueBase::Type synfig::ValueNode::get_type | ( |  | ) | const`[inline]`

Returns the type of the ValueNode.

Referenced by synfig::ValueNode_Stripes::create(), synfig::ValueNode_Repeat_Gradient::create(), synfig::ValueNode_GradientRotate::create(), synfig::ValueNode_VectorY::create_new(), synfig::ValueNode_VectorX::create_new(), synfig::ValueNode_VectorLength::create_new(), synfig::ValueNode_VectorAngle::create_new(), synfig::ValueNode_TwoTone::create_new(), synfig::ValueNode_TimeString::create_new(), synfig::ValueNode_TimeLoop::create_new(), synfig::ValueNode_TimedSwap::create_new(), synfig::ValueNode_Switch::create_new(), synfig::ValueNode_Subtract::create_new(), synfig::ValueNode_Step::create_new(), synfig::ValueNode_Sine::create_new(), synfig::ValueNode_Scale::create_new(), synfig::ValueNode_Reference::create_new(), synfig::ValueNode_Reciprocal::create_new(), synfig::ValueNode_RealString::create_new(), synfig::ValueNode_Range::create_new(), synfig::ValueNode_Random::create_new(), synfig::ValueNode_RadialComposite::create_new(), synfig::ValueNode_Pow::create_new(), synfig::ValueNode_Or::create_new(), synfig::ValueNode_Not::create_new(), synfig::ValueNode_Logarithm::create_new(), synfig::ValueNode_Linear::create_new(), synfig::ValueNode_Join::create_new(), synfig::ValueNode_IntString::create_new(), synfig::ValueNode_Integer::create_new(), synfig::ValueNode_Greyed::create_new(), synfig::ValueNode_GradientColor::create_new(), synfig::ValueNode_Exp::create_new(), synfig::ValueNode_Duplicate::create_new(), synfig::ValueNode_DotProduct::create_new(), synfig::ValueNode_Cos::create_new(), synfig::ValueNode_Composite::create_new(), synfig::ValueNode_Compare::create_new(), synfig::ValueNode_BLineRevTangent::create_new(), synfig::ValueNode_BLineCalcTangent::create_new(), synfig::ValueNode_Atan2::create_new(), synfig::ValueNode_AngleString::create_new(), synfig::ValueNode_And::create_new(), synfig::ValueNode_Add::create_new(), synfig::ValueNode_Scale::get_inverse(), synfig::ValueNode_RadialComposite::get_link_index_from_name(), synfig::ValueNode_Composite::get_link_index_from_name(), synfig::ValueNode_RadialComposite::link_count(), synfig::ValueNode_Composite::link_count(), synfig::ValueNode_RadialComposite::link_local_name(), synfig::ValueNode_Linear::link_local_name(), synfig::ValueNode_Composite::link_local_name(), synfig::ValueNode_RadialComposite::link_name(), synfig::ValueNode_Composite::link_name(), synfig::ValueNode_TimeString::operator()(), synfig::ValueNode_TimedSwap::operator()(), synfig::ValueNode_Subtract::operator()(), synfig::ValueNode_Step::operator()(), synfig::ValueNode_Scale::operator()(), synfig::ValueNode_RealString::operator()(), synfig::ValueNode_Range::operator()(), synfig::ValueNode_Random::operator()(), synfig::ValueNode_RadialComposite::operator()(), synfig::ValueNode_Linear::operator()(), synfig::ValueNode_Join::operator()(), synfig::ValueNode_IntString::operator()(), synfig::ValueNode_Integer::operator()(), synfig::ValueNode_DotProduct::operator()(), synfig::ValueNode_Composite::operator()(), synfig::ValueNode_BLineCalcTangent::operator()(), synfig::ValueNode_AngleString::operator()(), synfig::ValueNode_Add::operator()(), synfig::ValueNode_TimeLoop::set_link_vfunc(), synfig::ValueNode_TimedSwap::set_link_vfunc(), synfig::ValueNode_Switch::set_link_vfunc(), synfig::ValueNode_Subtract::set_link_vfunc(), synfig::ValueNode_Step::set_link_vfunc(), synfig::ValueNode_Scale::set_link_vfunc(), synfig::ValueNode_Repeat_Gradient::set_link_vfunc(), synfig::ValueNode_Reference::set_link_vfunc(), synfig::ValueNode_Range::set_link_vfunc(), synfig::ValueNode_Random::set_link_vfunc(), synfig::ValueNode_RadialComposite::set_link_vfunc(), synfig::ValueNode_Linear::set_link_vfunc(), synfig::ValueNode_Integer::set_link_vfunc(), synfig::ValueNode_Composite::set_link_vfunc(), synfig::ValueNode_BLineRevTangent::set_link_vfunc(), synfig::ValueNode_Add::set_link_vfunc(), and synfig::ValueNode_Subtract::ValueNode_Subtract().

etl::loose_handle<Canvas> synfig::ValueNode::get_parent_canvas | ( |  | ) | const`[inline]`

Returns a handle to the parent canvas, if it has one.

Referenced by synfig::ValueNode_DynamicList::add(), on_changed(), and synfig::LinkableValueNode::set_link().

etl::loose_handle<Canvas> synfig::ValueNode::get_root_canvas | ( |  | ) | const`[inline]`

Returns a handle to the parent canvas, if it has one.

Referenced by synfig::ValueNode_DynamicList::add(), synfig::ValueNode_DynamicList::erase(), on_changed(), and synfig::ValueNode_TimeString::operator()().

void ValueNode::set_parent_canvas | ( | etl::loose_handle< Canvas > | x | ) |

Todo:
  This needs to be documented further.

void ValueNode::set_root_canvas | ( | etl::loose_handle< Canvas > | x | ) |

Todo:
  This needs to be documented further.

String ValueNode::get_relative_id | ( | etl::loose_handle< const Canvas > | x | ) | const

Todo:
  This needs to be documented further.

References get_id(), and is_exported().

int ValueNode::replace | ( | etl::handle< ValueNode > | x | ) |

References synfig::Node::add_child(), synfig::Node::parent_set, and synfig::Node::remove_child().

void synfig::ValueNode::set_type | ( | ValueBase::Type | t | ) | `[inline, protected]`

Sets the type of the ValueNode.

Reimplemented in synfig::LinkableValueNode, and synfig::ValueNode_Animated.

Referenced by synfig::ValueNode_Animated::set_type(), and synfig::LinkableValueNode::set_type().

void ValueNode::on_changed | ( |  | ) | `[protected, virtual]`

Reimplemented from synfig::Node.

References get_parent_canvas(), get_root_canvas(), and synfig::Node::on_changed().

synfig::ValueNode::DCAST_HACK_BASECLASS | ( |  | ) |

synfig::ValueNode::DCAST_HACK_ID | ( | 0 |  | ) |

## Friends And Related Function Documentation

friend class Layer `[friend]`

friend class LinkableValueNode `[friend]`

The documentation for this class was generated from the following files:

- valuenode.h
- valuenode.cpp