From: Carlos Lopez Date: Mon, 5 Jul 2010 16:14:11 +0000 (+0200) Subject: Documentation for Value Node Animated X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=1b5e2c635ec3a0d2eaf4ee2ab8b09e5a9afc25ad;p=synfig.git Documentation for Value Node Animated --- diff --git a/synfig-core/src/synfig/valuenode_animated.h b/synfig-core/src/synfig/valuenode_animated.h index fe16255..533f939 100644 --- a/synfig-core/src/synfig/valuenode_animated.h +++ b/synfig-core/src/synfig/valuenode_animated.h @@ -39,6 +39,17 @@ namespace synfig { +/*! \class ValueNode_Animated + * \brief Virtual class for the derived ValueNode Animated implementations. + * + * It stores the list of waypoints and defines the base methods for: + * add a given waypoint, return a new waypoint at a given time, some find + * functions to find waypoints in the list, and to create a handles to + * ValueNode_Animated based on the ValueBase Type of the given value node. + * Also defines virtual methods to add a new waypoint at a given time using + * a value node. They must be redefined by the inherited classes and will + * be different depending on the type of value being animated. +*/ struct ValueNode_Animated : public ValueNode { public: @@ -59,31 +70,49 @@ public: const WaypointList &waypoint_list()const { return waypoint_list_; } + //! Creates a new waypoint at a Time \t with a given ValueBase \value + //! Must be redefined in the inherited class virtual WaypointList::iterator new_waypoint(Time t, ValueBase value)=0; - + //! Creates a new waypoint at a Time \t with a given ValueNode handle \value_node + //! Must be redefined in the inherited class virtual WaypointList::iterator new_waypoint(Time t, ValueNode::Handle value_node)=0; + //! Returns a new waypoint at a given time but it is not inserted in the Waypoint List. /*! \note this does not add any waypoint to the ValueNode! */ Waypoint new_waypoint_at_time(const Time& t)const; + //! Adds a waypoint \x + //! \see : Waypoint new_waypoint_at_time(const Time& t)const; WaypointList::iterator add(const Waypoint &x); + //! Removes a waypoint based on its UniqueId from the waypoint list void erase(const UniqueID &x); - //either use find result (return bool and iterator) or + //! Finds Waypoint iterator and associated boolean if found. Find by UniqueID findresult find_uid(const UniqueID &x); + //! Finds Waypoint iterator and associated boolean if found. Find by UniqueID const_findresult find_uid(const UniqueID &x)const; + //! Finds Waypoint iterator and associated boolean if found. Find by Time findresult find_time(const Time &x); + //! Finds Waypoint iterator and associated boolean if found. Find by Time const_findresult find_time(const Time &x)const; + //! Finds a Waypoint by given UniqueID \x WaypointList::iterator find(const UniqueID &x); + //! Finds a Waypoint by given UniqueID \x WaypointList::const_iterator find(const UniqueID &x)const; + //! Finds a Waypoint by given Time \x WaypointList::iterator find(const Time &x); + //! Finds a Waypoint by given Time \x WaypointList::const_iterator find(const Time &x)const; + //! Finds next Waypoint at a given time \x starting from current waypoint WaypointList::iterator find_next(const Time &x); + //! Finds next Waypoint at a given time \x starting from current waypoint WaypointList::const_iterator find_next(const Time &x)const; + //! Finds previous Waypoint at a given time \x starting from current waypoint WaypointList::iterator find_prev(const Time &x); + //! Finds previous Waypoint at a given time \x starting from current waypoint WaypointList::const_iterator find_prev(const Time &x)const; virtual ~ValueNode_Animated(); @@ -91,14 +120,18 @@ public: virtual String get_name()const; virtual String get_local_name()const; + //! Creates a Valuenode_Animated by type static Handle create(ValueBase::Type type); - + //! Creates a Valuenode_Animated by ValueBase and Time static Handle create(const ValueBase& value, const Time& time); - + //! Creates a Valuenode_Animated by ValueNode and Time static Handle create(ValueNode::Handle value_node, const Time& time); + //! Fills the \list with the waypoints between \begin and \end int find(const Time& begin,const Time& end,std::vector& list); + //! Inserts time \delta from time \location to the waypoints. + //! used to move waypoints in the time line. void insert_time(const Time& location, const Time& delta); protected: