24 #ifndef __GUSD_BOUNDSCACHE_H__
25 #define __GUSD_BOUNDSCACHE_H__
71 void Clear()
override;
82 :
path(path), purposes( purposes ), hash(ComputeHash(path,purposes)) {}
87 SYShashCombine(h, purposes);
92 {
return path == o.path &&
93 purposes == o.purposes ; }
100 static std::size_t
hash(
const Key& key)
115 : bboxCache( time, includedPurposes )
129 ComputeFunc boundFunc,
134 typedef UT_ConcurrentHashMap<Key,ItemHandle,Key::HashCmp> MapType;
140 #endif // __GUSD_BOUNDSCACHE_H__
void Clear() override
Clear all caches.
GT_API const UT_StringHolder time
static GusdBoundsCache & GetInstance()
GLsizei const GLchar *const * path
GLboolean GLboolean GLboolean GLboolean a
A reference counter base class for use with UT_IntrusivePtr.
static bool equal(const Key &a, const Key &b)
bool ComputeWorldBound(const UsdPrim &prim, UsdTimeCode time, const TfTokenVector &includedPurposes, UT_BoundingBox &bounds)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Wrapper around hboost::intrusive_ptr.
static std::size_t hash(const Key &key)
std::vector< TfToken > TfTokenVector
Convenience types.
GLboolean GLboolean GLboolean b
GLfloat GLfloat GLfloat GLfloat h
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
bool ComputeUntransformedBound(const UsdPrim &prim, UsdTimeCode time, const TfTokenVector &includedPurposes, UT_BoundingBox &bounds)
size_t hash_value(const CH_ChannelRef &ref)
~GusdBoundsCache() override