37 pxr::UsdStageRefPtr
stage,
49 switch (object->type) {
90 skinned_mesh_export_map_,
91 shape_key_mesh_export_map_,
100 export_time_ = pxr::UsdTimeCode(frame_nr);
107 path = pxr::SdfPath(params_.
root_prim_path + context->export_path);
110 path = pxr::SdfPath(context->export_path);
115 const pxr::SdfLayerHandle root_layer = stage_->GetRootLayer();
116 const std::string export_file_path = root_layer->GetRealPath();
117 auto get_time_code = [
this]() {
return this->export_time_; };
119 return USDExporterContext{
120 bmain_,
depsgraph_, stage_, path, get_time_code, params_, export_file_path};
134 switch (context->object->type) {
220 add_usd_skel_export_mapping(context->object, data_writer->
usd_path());
231 return new USDHairWriter(create_usd_export_context(context));
240void USDHierarchyIterator::add_usd_skel_export_mapping(
const Object *obj,
const pxr::SdfPath &path)
243 shape_key_mesh_export_map_.
add(obj, path);
247 armature_export_map_.
add(obj, path);
253 skinned_mesh_export_map_.
add(obj, path);
#define BLI_assert_unreachable()
#define BLI_assert_msg(a, msg)
Object is a sort of wrapper for general info.
#define BASE_SELECTED(v3d, base)
bool add(const Key &key, const Value &value)
const pxr::SdfPath & usd_path() const
virtual bool is_supported(const HierarchyContext *context) const
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
void process_usd_skel() const
USDHierarchyIterator(Main *bmain, Depsgraph *depsgraph, pxr::UsdStageRefPtr stage, const USDExportParams ¶ms)
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
void set_export_frame(float frame_nr)
const Depsgraph * depsgraph
void skel_export_chaser(pxr::UsdStageRefPtr stage, const ObjExportMap &armature_export_map, const ObjExportMap &skinned_mesh_export_map, const ObjExportMap &shape_key_mesh_export_map, const Depsgraph *depsgraph)
std::string make_safe_name(const std::string &name, bool allow_unicode)
void create_skel_roots(pxr::UsdStageRefPtr stage, const USDExportParams ¶ms)
bool can_export_skinned_mesh(const Object &obj, const Depsgraph *depsgraph)
bool is_mesh_with_shape_keys(const Object *obj)
char root_prim_path[1024]
bool selected_objects_only
const USDExportParams & export_params