43 BlenderContext &blender_context;
44 BCExportSettings export_settings;
51 COLLADASW::StreamWriter *sw,
52 BCExportSettings &export_settings)
53 : COLLADASW::LibraryControllers(sw),
54 blender_context(blender_context),
55 export_settings(export_settings)
69 std::vector<Object *> written_armatures;
71 bool already_written(
Object *ob_arm);
73 void wrote(
Object *ob_arm);
75 void find_objects_using_armature(
Object *ob_arm, std::vector<Object *> &objects,
Scene *sce);
78 std::string get_controller_id(
Object *ob_arm,
Object *ob);
80 std::string get_controller_id(
Key *key,
Object *ob);
85 void export_morph_controller(
Object *ob,
Key *key);
87 void add_joints_element(
const ListBase *defbase,
88 const std::string &joints_source_id,
89 const std::string &inv_bind_mat_source_id);
91 void add_bind_shape_mat(
Object *ob);
93 std::string add_morph_targets(
Key *key,
Object *ob);
95 std::string add_morph_weights(
Key *key,
Object *ob);
100 void add_weight_extras(
Key *key);
102 std::string add_joints_source(
Object *ob_arm,
104 const std::string &controller_id);
106 std::string add_inv_bind_mats_source(
Object *ob_arm,
108 const std::string &controller_id);
114 std::string add_weights_source(
Mesh *mesh,
115 const std::string &controller_id,
116 const std::list<float> &weights);
118 void add_vertex_weights_element(
const std::string &weights_source_id,
119 const std::string &joints_source_id,
120 const std::list<int> &vcount,
121 const std::list<int> &joints);
123 void write_bone_URLs(COLLADASW::InstanceController &ins,
Object *ob_arm,
Bone *bone);