Blender V4.3
usd_hierarchy_iterator.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2019 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4#pragma once
5
7#include "usd.hh"
9#include "usd_skel_convert.hh"
10
11#include <string>
12
13#include <pxr/usd/usd/common.h>
14#include <pxr/usd/usd/timeCode.h>
15
16struct Depsgraph;
17struct Main;
18struct Object;
19
20namespace blender::io::usd {
21
25
27 private:
28 const pxr::UsdStageRefPtr stage_;
29 pxr::UsdTimeCode export_time_;
30 const USDExportParams &params_;
31
32 ObjExportMap armature_export_map_;
33 ObjExportMap skinned_mesh_export_map_;
34 ObjExportMap shape_key_mesh_export_map_;
35
36 public:
38 Depsgraph *depsgraph,
39 pxr::UsdStageRefPtr stage,
40 const USDExportParams &params);
41
42 void set_export_frame(float frame_nr);
43
44 virtual std::string make_valid_name(const std::string &name) const override;
45
46 void process_usd_skel() const;
47
48 protected:
49 virtual bool mark_as_weak_export(const Object *object) const override;
50
52 const HierarchyContext *context) override;
53 virtual AbstractHierarchyWriter *create_data_writer(const HierarchyContext *context) override;
54 virtual AbstractHierarchyWriter *create_hair_writer(const HierarchyContext *context) override;
56 const HierarchyContext *context) override;
57
58 virtual void release_writer(AbstractHierarchyWriter *writer) override;
59
60 private:
61 USDExporterContext create_usd_export_context(const HierarchyContext *context);
62
63 void add_usd_skel_export_mapping(const Object *obj, const pxr::SdfPath &usd_path);
64};
65
66} // namespace blender::io::usd
virtual bool mark_as_weak_export(const Object *object) const override
virtual AbstractHierarchyWriter * create_data_writer(const HierarchyContext *context) override
virtual void release_writer(AbstractHierarchyWriter *writer) override
virtual AbstractHierarchyWriter * create_particle_writer(const HierarchyContext *context) override
USDHierarchyIterator(Main *bmain, Depsgraph *depsgraph, pxr::UsdStageRefPtr stage, const USDExportParams &params)
virtual AbstractHierarchyWriter * create_hair_writer(const HierarchyContext *context) override
virtual std::string make_valid_name(const std::string &name) const override
virtual AbstractHierarchyWriter * create_transform_writer(const HierarchyContext *context) override
EvaluationStage stage
Definition deg_eval.cc:83
const Depsgraph * depsgraph
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]