27 #include "COLLADASWInputList.h"
28 #include "COLLADASWLibraryControllers.h"
29 #include "COLLADASWNode.h"
30 #include "COLLADASWStreamWriter.h"
57 COLLADASW::StreamWriter *sw,
58 BCExportSettings &export_settings)
59 : COLLADASW::LibraryControllers(sw),
60 blender_context(blender_context),
61 export_settings(export_settings)
68 std::vector<Object *> &child_objects);
73 BlenderContext &blender_context;
74 BCExportSettings &export_settings;
77 std::vector<Object *> written_armatures;
79 bool already_written(
Object *ob_arm);
81 void wrote(
Object *ob_arm);
83 void find_objects_using_armature(
Object *ob_arm, std::vector<Object *> &objects,
Scene *sce);
88 void add_bone_node(
Bone *bone,
91 std::vector<Object *> &child_objects);
93 inline bool can_export(
Bone *bone)
98 bool is_export_root(
Bone *bone);
99 void add_bone_transform(
Object *ob_arm,
Bone *bone, COLLADASW::Node &
node);
101 std::string get_controller_id(
Object *ob_arm,
Object *ob);
103 void write_bone_URLs(COLLADASW::InstanceController &ins,
Object *ob_arm,
Bone *bone);
These structs are the foundation for all linked lists in the library system.
Object is a sort of wrapper for general info.
ArmatureExporter(BlenderContext &blender_context, COLLADASW::StreamWriter *sw, BCExportSettings &export_settings)
bool add_instance_controller(Object *ob)
void add_armature_bones(Object *ob_arm, ViewLayer *view_layer, SceneExporter *se, std::vector< Object * > &child_objects)