Blender V4.3
usd_reader_skeleton.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2021 NVIDIA Corporation. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
6#include "usd_skel_convert.hh"
7
8#include "BKE_armature.hh"
9#include "BKE_object.hh"
10
11#include "DNA_armature_types.h"
12#include "DNA_object_types.h"
13
14namespace blender::io::usd {
15
17{
18 return skel_ && USDXformReader::valid();
19}
20
21void USDSkeletonReader::create_object(Main *bmain, const double /*motionSampleTime*/)
22{
24
25 bArmature *arm = BKE_armature_add(bmain, name_.c_str());
26 object_->data = arm;
27}
28
29void USDSkeletonReader::read_object_data(Main *bmain, const double motionSampleTime)
30{
31 if (!object_ || !object_->data || !skel_) {
32 return;
33 }
34
35 import_skeleton(bmain, object_, skel_, reports());
36
37 USDXformReader::read_object_data(bmain, motionSampleTime);
38}
39
40} // namespace blender::io::usd
bArmature * BKE_armature_add(Main *bmain, const char *name)
Definition armature.cc:514
General operations, lookup, etc. for blender objects.
Object * BKE_object_add_only_object(Main *bmain, int type, const char *name) ATTR_RETURNS_NONNULL
Object is a sort of wrapper for general info.
@ OB_ARMATURE
void create_object(Main *bmain, double motionSampleTime) override
void read_object_data(Main *bmain, double motionSampleTime) override
void read_object_data(Main *bmain, double motionSampleTime) override
void import_skeleton(Main *bmain, Object *arm_obj, const pxr::UsdSkelSkeleton &skel, ReportList *reports, const bool import_anim)