Loading...
Searching...
No Matches
cache.h
Go to the documentation of this file.
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_USD_USD_SKEL_CACHE_H
8#define PXR_USD_USD_SKEL_CACHE_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/usd/usdSkel/api.h"
14
15#include "pxr/usd/usd/prim.h"
17
20
21#include <memory>
22
23
24PXR_NAMESPACE_OPEN_SCOPE
25
26
27class UsdSkelRoot;
29class UsdSkelSkeleton;
32
34
35
41{
42public:
43 USDSKEL_API
45
46 USDSKEL_API
47 void Clear();
48
55 USDSKEL_API
56 bool Populate(const UsdSkelRoot& root,
57 Usd_PrimFlagsPredicate predicate) const;
58
62 USDSKEL_API
64
68 USDSKEL_API
70
73 USDSKEL_API
75
84 USDSKEL_API
86
92 USDSKEL_API
93 bool ComputeSkelBindings(const UsdSkelRoot& skelRoot,
94 std::vector<UsdSkelBinding>* bindings,
95 Usd_PrimFlagsPredicate predicate) const;
96
102 USDSKEL_API
103 bool ComputeSkelBinding(const UsdSkelRoot& skelRoot,
104 const UsdSkelSkeleton& skel,
105 UsdSkelBinding* binding,
106 Usd_PrimFlagsPredicate predicate) const;
107
108private:
109 std::shared_ptr<class UsdSkel_CacheImpl> _impl;
110
111 friend class UsdSkelAnimQuery;
112 friend class UsdSkelSkeletonQuery;
113};
114
115PXR_NAMESPACE_CLOSE_SCOPE
116
117#endif // USDSKEL_EVALCACHE_H
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:117
Class providing efficient queries of primitives that provide skel animation.
Definition: animQuery.h:38
Describes a skel animation, where joint animation is stored in a vectorized form.
Definition: animation.h:46
Helper object that describes the binding of a skeleton to a set of skinnable objects.
Definition: binding.h:28
Thread-safe cache for accessing query objects for evaluating skeletal data.
Definition: cache.h:41
USDSKEL_API UsdSkelSkinningQuery GetSkinningQuery(const UsdPrim &prim) const
Get a skinning query at prim.
USDSKEL_API UsdSkelAnimQuery GetAnimQuery(const UsdPrim &prim) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USDSKEL_API bool ComputeSkelBinding(const UsdSkelRoot &skelRoot, const UsdSkelSkeleton &skel, UsdSkelBinding *binding, Usd_PrimFlagsPredicate predicate) const
Compute the bindings corresponding to a single skeleton, bound beneath skelRoot, as discovered throug...
USDSKEL_API bool ComputeSkelBindings(const UsdSkelRoot &skelRoot, std::vector< UsdSkelBinding > *bindings, Usd_PrimFlagsPredicate predicate) const
Compute the set of skeleton bindings beneath skelRoot, as discovered through a traversal using predic...
USDSKEL_API UsdSkelAnimQuery GetAnimQuery(const UsdSkelAnimation &anim) const
Get an anim query corresponding to anim.
USDSKEL_API UsdSkelSkeletonQuery GetSkelQuery(const UsdSkelSkeleton &skel) const
Get a skel query for computing properties of skel.
USDSKEL_API bool Populate(const UsdSkelRoot &root, Usd_PrimFlagsPredicate predicate) const
Populate the cache for the skeletal data beneath prim root, as traversed using predicate.
Boundable prim type used to identify a scope beneath which skeletally-posed primitives are defined.
Definition: root.h:47
Describes a skeleton.
Definition: skeleton.h:47
Primary interface to reading bound skeleton data.
Definition: skeletonQuery.h:54
Object used for querying resolved bindings for skinning.
Definition: skinningQuery.h:35
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.
Definition: declarePtrs.h:58