26 #include "COLLADAFWNode.h"
27 #include "COLLADAFWSkinController.h"
28 #include "COLLADAFWSkinControllerData.h"
29 #include "COLLADAFWTypes.h"
30 #include "COLLADAFWUniqueId.h"
45 float inv_bind_mat[4][4];
46 COLLADAFW::UniqueId joint_uid;
50 float bind_shape_matrix[4][4];
53 COLLADAFW::UIntValuesArray joints_per_vertex;
54 COLLADAFW::UIntValuesArray weight_indices;
55 COLLADAFW::IntValuesArray joint_indices;
57 std::vector<float> weights;
59 std::vector<JointData> joint_data;
64 COLLADAFW::UniqueId controller_uid;
77 COLLADAFW::IntValuesArray &dest);
80 COLLADAFW::UIntValuesArray &dest);
89 void add_joint(
const COLLADABU::Math::Matrix4 &matrix);
113 std::map<COLLADAFW::UniqueId, COLLADAFW::Node *> &joint_by_uid,
123 std::map<COLLADAFW::UniqueId, COLLADAFW::Node *> &joint_by_uid,
124 std::vector<COLLADAFW::Node *> &
result);
Object is a sort of wrapper for general info.
void find_root_joints(const std::vector< COLLADAFW::Node * > &root_joints, std::map< COLLADAFW::UniqueId, COLLADAFW::Node * > &joint_by_uid, std::vector< COLLADAFW::Node * > &result)
const COLLADAFW::UniqueId & get_controller_uid()
void transfer_int_array_data_const(const COLLADAFW::IntValuesArray &src, COLLADAFW::IntValuesArray &dest)
void set_controller(const COLLADAFW::SkinController *co)
void link_armature(bContext *C, Object *ob, std::map< COLLADAFW::UniqueId, COLLADAFW::Node * > &joint_by_uid, TransformReader *tm)
Object * set_armature(Object *ob_arm)
void borrow_skin_controller_data(const COLLADAFW::SkinControllerData *skin)
bool uses_joint_or_descendant(COLLADAFW::Node *node)
Object * BKE_armature_from_object()
bool get_joint_inv_bind_matrix(float inv_bind_mat[4][4], COLLADAFW::Node *node)
void add_joint(const COLLADABU::Math::Matrix4 &matrix)
void transfer_uint_array_data_const(const COLLADAFW::UIntValuesArray &src, COLLADAFW::UIntValuesArray &dest)
void set_parent(Object *_parent)
bool find_node_in_tree(COLLADAFW::Node *node, COLLADAFW::Node *tree_root)
void transfer_array_data(T &src, T &dest)
bPoseChannel * get_pose_channel_from_node(COLLADAFW::Node *node)
Object * create_armature(Main *bmain, Scene *scene, ViewLayer *view_layer)