Changeset View
Changeset View
Standalone View
Standalone View
source/blender/collada/SceneExporter.cpp
| Show All 20 Lines | |||||
| */ | */ | ||||
| /** \file blender/collada/SceneExporter.cpp | /** \file blender/collada/SceneExporter.cpp | ||||
| * \ingroup collada | * \ingroup collada | ||||
| */ | */ | ||||
| extern "C" { | extern "C" { | ||||
| #include "BLI_utildefines.h" | #include "BLI_utildefines.h" | ||||
| #include "BKE_group.h" | #include "BKE_collection.h" | ||||
| #include "BKE_object.h" | #include "BKE_object.h" | ||||
| #include "BLI_listbase.h" | #include "BLI_listbase.h" | ||||
| } | } | ||||
| #include "SceneExporter.h" | #include "SceneExporter.h" | ||||
| #include "collada_utils.h" | #include "collada_utils.h" | ||||
| SceneExporter::SceneExporter(COLLADASW::StreamWriter *sw, ArmatureExporter *arm, const ExportSettings *export_settings) | SceneExporter::SceneExporter(COLLADASW::StreamWriter *sw, ArmatureExporter *arm, const ExportSettings *export_settings) | ||||
| ▲ Show 20 Lines • Show All 130 Lines • ▼ Show 20 Lines | void SceneExporter::writeNodes(Depsgraph *depsgraph, Object *ob, Scene *sce) | ||||
| else if (ob->type == OB_LAMP) { | else if (ob->type == OB_LAMP) { | ||||
| COLLADASW::InstanceLight instLa(mSW, COLLADASW::URI(COLLADABU::Utils::EMPTY_STRING, get_light_id(ob))); | COLLADASW::InstanceLight instLa(mSW, COLLADASW::URI(COLLADABU::Utils::EMPTY_STRING, get_light_id(ob))); | ||||
| instLa.add(); | instLa.add(); | ||||
| } | } | ||||
| // empty object | // empty object | ||||
| else if (ob->type == OB_EMPTY) { // TODO: handle groups (OB_DUPLIGROUP | else if (ob->type == OB_EMPTY) { // TODO: handle groups (OB_DUPLIGROUP | ||||
| if ((ob->transflag & OB_DUPLIGROUP) == OB_DUPLIGROUP && ob->dup_group) { | if ((ob->transflag & OB_DUPLIGROUP) == OB_DUPLIGROUP && ob->dup_group) { | ||||
| Group *group = ob->dup_group; | Collection *collection = ob->dup_group; | ||||
| /* printf("group detected '%s'\n", group->id.name + 2); */ | /* printf("group detected '%s'\n", group->id.name + 2); */ | ||||
| FOREACH_GROUP_OBJECT_BEGIN(group, object) | FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN(collection, object) | ||||
| { | { | ||||
| printf("\t%s\n", object->id.name); | printf("\t%s\n", object->id.name); | ||||
| } | } | ||||
| FOREACH_GROUP_OBJECT_END; | FOREACH_COLLECTION_OBJECT_RECURSIVE_END; | ||||
| } | } | ||||
| } | } | ||||
| if (ob->type == OB_ARMATURE) { | if (ob->type == OB_ARMATURE) { | ||||
| colladaNode.end(); | colladaNode.end(); | ||||
| } | } | ||||
| if (BLI_listbase_is_empty(&ob->constraints) == false) { | if (BLI_listbase_is_empty(&ob->constraints) == false) { | ||||
| ▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines | |||||