1 /* === S Y N F I G ========================================================= */ 2 /*! \file valuenode_boneweightpair.h 3 ** \brief Header file for implementation of the "BoneWeightPair" valuenode conversion. 4 ** 5 ** $Id$ 6 ** 7 ** \legal 8 ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley 9 ** Copyright (c) 2008 Chris Moore 10 ** Copyright (c) 2008 Carlos López 11 ** 12 ** This package is free software; you can redistribute it and/or 13 ** modify it under the terms of the GNU General Public License as 14 ** published by the Free Software Foundation; either version 2 of 15 ** the License, or (at your option) any later version. 16 ** 17 ** This package is distributed in the hope that it will be useful, 18 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 19 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 ** General Public License for more details. 21 ** \endlegal 22 */ 23 /* ========================================================================= */ 24 25 /* === S T A R T =========================================================== */ 26 27 #ifndef __SYNFIG_VALUENODE_BONEWEIGHTPAIR_H 28 #define __SYNFIG_VALUENODE_BONEWEIGHTPAIR_H 29 30 /* === H E A D E R S ======================================================= */ 31 32 #include <synfig/valuenode.h> 33 34 /* === M A C R O S ========================================================= */ 35 36 /* === C L A S S E S & S T R U C T S ======================================= */ 37 38 namespace synfig { 39 40 class ValueNode_BoneWeightPair : public LinkableValueNode 41 { 42 ValueNode::RHandle bone_; 43 ValueNode::RHandle weight_; 44 45 ValueNode_BoneWeightPair(const ValueBase &value, etl::loose_handle<Canvas> = 0); 46 47 public: 48 49 typedef etl::handle<ValueNode_BoneWeightPair> Handle; 50 typedef etl::handle<const ValueNode_BoneWeightPair> ConstHandle; 51 52 53 virtual ValueBase operator()(Time t)const; 54 55 virtual ~ValueNode_BoneWeightPair(); 56 57 virtual String get_name()const; 58 virtual String get_local_name()const; 59 60 virtual ValueNode::LooseHandle get_link_vfunc(int i)const; 61 62 protected: 63 LinkableValueNode* create_new()const; 64 virtual bool set_link_vfunc(int i,ValueNode::Handle x); 65 66 public: 67 using synfig::LinkableValueNode::get_link_vfunc; 68 69 using synfig::LinkableValueNode::set_link_vfunc; 70 static bool check_type(Type &type); 71 static ValueNode_BoneWeightPair* create(const ValueBase &x, etl::loose_handle<Canvas>); 72 virtual Vocab get_children_vocab_vfunc()const; 73 }; // END of class ValueNode_BoneWeightPair 74 75 }; // END of namespace synfig 76 77 /* === E N D =============================================================== */ 78 79 #endif 80