Blender V4.5
SceneExporter.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include <cstdlib>
12
13#include "DNA_object_types.h"
14
15#include "COLLADASWLibraryVisualScenes.h"
16
17#include "ArmatureExporter.h"
18#include "ExportSettings.h"
19
20class SceneExporter : COLLADASW::LibraryVisualScenes,
21 protected TransformWriter,
22 protected InstanceWriter {
23 public:
24 SceneExporter(BlenderContext &blender_context,
25 COLLADASW::StreamWriter *sw,
27 BCExportSettings &export_settings)
28 : COLLADASW::LibraryVisualScenes(sw),
29 blender_context(blender_context),
30 arm_exporter(arm),
31 export_settings(export_settings)
32 {
33 }
34
35 void exportScene();
36
37 private:
38 BlenderContext &blender_context;
39 friend class ArmatureExporter;
40 ArmatureExporter *arm_exporter;
41 BCExportSettings &export_settings;
42
43 void exportHierarchy();
44 void writeNodeList(std::vector<Object *> &child_objects, Object *parent);
45 void writeNode(Object *ob);
46};
Object is a sort of wrapper for general info.
SceneExporter(BlenderContext &blender_context, COLLADASW::StreamWriter *sw, ArmatureExporter *arm, BCExportSettings &export_settings)
friend class ArmatureExporter