Blender V4.3
usd_writer_armature.cc File Reference
#include "usd_writer_armature.hh"
#include "usd_armature_utils.hh"
#include "BKE_action.hh"
#include "DNA_armature_types.h"
#include <pxr/base/gf/matrix4d.h>
#include <pxr/base/gf/matrix4f.h>
#include <pxr/usd/usdGeom/primvarsAPI.h>
#include <pxr/usd/usdSkel/animation.h>
#include <pxr/usd/usdSkel/bindingAPI.h>
#include <pxr/usd/usdSkel/skeleton.h>
#include "CLG_log.h"

Go to the source code of this file.

Namespaces

namespace  usdtokens
 
namespace  blender
 
namespace  blender::io
 
namespace  blender::io::usd
 

Functions

static const pxr::TfToken usdtokens::Anim ("Anim", pxr::TfToken::Immortal)
 
static pxr::GfMatrix4d parent_relative_pose_mat (const bPoseChannel *pchan)
 
static void initialize (const Object *obj, pxr::UsdSkelSkeleton &skel, pxr::UsdSkelAnimation &skel_anim, const blender::Map< blender::StringRef, const Bone * > *deform_bones, bool allow_unicode)
 
static void add_anim_sample (pxr::UsdSkelAnimation &skel_anim, const Object *obj, const pxr::UsdTimeCode time, const blender::Map< blender::StringRef, const Bone * > *deform_map)
 

Variables

static CLG_LogRef LOG = {"io.usd"}
 

Function Documentation

◆ add_anim_sample()

static void add_anim_sample ( pxr::UsdSkelAnimation & skel_anim,
const Object * obj,
const pxr::UsdTimeCode time,
const blender::Map< blender::StringRef, const Bone * > * deform_map )
static

◆ initialize()

static void initialize ( const Object * obj,
pxr::UsdSkelSkeleton & skel,
pxr::UsdSkelAnimation & skel_anim,
const blender::Map< blender::StringRef, const Bone * > * deform_bones,
bool allow_unicode )
static

◆ parent_relative_pose_mat()

static pxr::GfMatrix4d parent_relative_pose_mat ( const bPoseChannel * pchan)
static

Get the pose matrix for the given channel. The matrix is computed relative to its parent, if a parent exists. The returned matrix corresponds to the USD joint-local transform.

Definition at line 31 of file usd_writer_armature.cc.

References bPoseChannel::parent, and bPoseChannel::pose_mat.

Referenced by add_anim_sample(), and initialize().

Variable Documentation

◆ LOG

CLG_LogRef LOG = {"io.usd"}
static

Definition at line 20 of file usd_writer_armature.cc.