#include <valuenode_dynamiclist.h>
Inheritance diagram for synfig::ValueNode_DynamicList:
Public Types | |
typedef etl::handle< ValueNode_DynamicList > | Handle |
typedef etl::handle< const ValueNode_DynamicList > | ConstHandle |
Public Member Functions | |
void | add (const ValueNode::Handle &value_node, int index=-1) |
void | add (const ListEntry &value_node, int index=-1) |
void | erase (const ValueNode::Handle &value_node) |
void | reindex () |
int | find_next_valid_entry (int x, Time t) const |
int | find_prev_valid_entry (int x, Time t) const |
virtual ValueNode::LooseHandle | get_link_vfunc (int i) const |
virtual int | link_count () const |
virtual String | link_name (int i) const |
virtual ValueBase | operator() (Time t) const |
Returns the value of the ValueNode at time t. | |
virtual | ~ValueNode_DynamicList () |
virtual String | link_local_name (int i) const |
virtual int | get_link_index_from_name (const String &name) const |
virtual String | get_name () const |
Returns the name of the ValueNode type. | |
virtual String | get_local_name () const |
Returns the localized name of the ValueNode type. | |
bool | get_loop () const |
void | set_loop (bool x) |
ValueBase::Type | get_contained_type () const |
void | insert_time (const Time &location, const Time &delta) |
virtual ValueNode * | clone (const GUID &deriv_guid=GUID()) const |
virtual ListEntry | create_list_entry (int index, Time time=0, Real origin=0.5) |
Static Public Member Functions | |
template<typename iterator> | |
static Handle | create (iterator begin, iterator end) |
static Handle | create (ValueBase::Type id=ValueBase::TYPE_NIL) |
static bool | check_type (ValueBase::Type type) |
static ValueNode_DynamicList * | create_from (const ValueBase &x=ValueBase::TYPE_GRADIENT) |
Public Attributes | |
std::vector< ListEntry > | list |
Protected Member Functions | |
ValueNode_DynamicList (ValueBase::Type container_type=ValueBase::TYPE_NIL) | |
virtual bool | set_link_vfunc (int i, ValueNode::Handle x) |
LinkableValueNode * | create_new () const |
virtual void | get_times_vfunc (Node::time_set &set) const |
Protected Attributes | |
ValueBase::Type | container_type |
bool | loop_ |
Classes | |
class | ListEntry |
Contains a potential list item, and associated timing information. More... |
This ValueNode was originaly set up to have a list of ValueNodes and their associated "on" and "off" points. ie: Any time that was directly after an "on" point, the item would be "on", and any time that was directly after an "off" point would be "off". This is pretty intuitive. However, it does have it's problems.
The problems arrise when we introduce the concept of a Keyframe. Keyframes can be manipulated via the Synfig Application Library. They allow the user to quickly and "automagickly" rearange an animation by moving the associated keyframes. With they old way that the "on" and "off" points were handled, this task became overly complicated.
What is required is a "symetric" system of describing "on" and "off" points. Instead of the point representing the state of the item after that point in time, we have the point represent only that frame. The state of the item is calculated by looking at the points around it: If either (or both) points are "on", then the current state is "on". Otherwise, the point is "off"
This may be a bit confusing at first, but it is required if we want the keyframe mechanism to "just work".
|
Reimplemented from synfig::LinkableValueNode. Reimplemented in synfig::ValueNode_BLine. |
|
Reimplemented from synfig::LinkableValueNode. Reimplemented in synfig::ValueNode_BLine. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Implements synfig::LinkableValueNode. |
|
Implements synfig::LinkableValueNode. |
|
Implements synfig::LinkableValueNode. |
|
Returns the value of the ValueNode at time t.
Reimplemented from synfig::ValueNode. Reimplemented in synfig::ValueNode_BLine. |
|
Implements synfig::LinkableValueNode. Reimplemented in synfig::ValueNode_BLine. |
|
Implements synfig::LinkableValueNode. |
|
Returns the name of the ValueNode type.
Implements synfig::ValueNode. Reimplemented in synfig::ValueNode_BLine. |
|
Returns the localized name of the ValueNode type.
Implements synfig::ValueNode. Reimplemented in synfig::ValueNode_BLine. |
|
|
|
|
|
|
|
|
|
|
|
Reimplemented from synfig::LinkableValueNode. Reimplemented in synfig::ValueNode_BLine. |
|
Reimplemented in synfig::ValueNode_BLine. |
|
Implements synfig::LinkableValueNode. |
|
Implements synfig::LinkableValueNode. Reimplemented in synfig::ValueNode_BLine. |
|
Function to be overloaded that fills Reimplemented from synfig::LinkableValueNode. |
|
|
|
|
|
|
|
|
|
|
|
|