37 BCExportSettings export_settings;
44 COLLADASW::StreamWriter *sw,
45 BCExportSettings &export_settings)
46 : COLLADASW::LibraryControllers(sw),
47 blender_context(blender_context),
48 export_settings(export_settings)
62 std::vector<Object *> written_armatures;
64 bool already_written(
Object *ob_arm);
66 void wrote(
Object *ob_arm);
68 void find_objects_using_armature(
Object *ob_arm, std::vector<Object *> &objects,
Scene *sce);
71 std::string get_controller_id(
Object *ob_arm,
Object *ob);
73 std::string get_controller_id(
Key *key,
Object *ob);
78 void export_morph_controller(
Object *ob,
Key *key);
80 void add_joints_element(
const ListBase *defbase,
81 const std::string &joints_source_id,
82 const std::string &inv_bind_mat_source_id);
84 void add_bind_shape_mat(
Object *ob);
86 std::string add_morph_targets(
Key *key,
Object *ob);
88 std::string add_morph_weights(
Key *key,
Object *ob);
93 void add_weight_extras(
Key *key);
95 std::string add_joints_source(
Object *ob_arm,
97 const std::string &controller_id);
99 std::string add_inv_bind_mats_source(
Object *ob_arm,
101 const std::string &controller_id);
107 std::string add_weights_source(
Mesh *mesh,
108 const std::string &controller_id,
109 const std::list<float> &weights);
111 void add_vertex_weights_element(
const std::string &weights_source_id,
112 const std::string &joints_source_id,
113 const std::list<int> &vcount,
114 const std::list<int> &joints);
116 void write_bone_URLs(COLLADASW::InstanceController &ins,
Object *ob_arm,
Bone *bone);