18 #ifndef __XUSD_AutoCollection_h__
19 #define __XUSD_AutoCollection_h__
57 template <
class AutoCollection>
62 : myCollectionName(cname)
68 const char *cname)
const override
70 return (myCollectionName == cname);
81 if (collectionname == myCollectionName)
82 return new AutoCollection(collectionname, orderedargs, namedargs,
83 lock, demands, nodeid, timecode);
106 virtual bool randomAccess()
const = 0;
118 bool *prune_branch)
const
122 {
return myMayBeTimeVaryingSubPattern; }
125 {
return myTokenParsingError; }
153 bool *timevaryingflag);
155 static bool parsePatternSingleResult(
const UT_StringRef &str,
161 bool *timevaryingflag);
163 static bool canCreateAutoCollection(
const char *token);
169 static void registerPlugins();
203 virtual bool matchPrimitive(
const UsdPrim &prim,
204 bool *prune_branch)
const = 0;
223 bool *prune_branch)
const override;
224 virtual bool matchPrimitive(
const UsdPrim &prim,
225 bool *prune_branch)
const = 0;
bool randomAccess() const override
#define SYS_VISIBILITY_EXPORT
const UT_StringHolder & getTokenParsingError() const
HUSD_TimeCode myHusdTimeCode
GLsizei const GLchar *const * path
virtual ~XUSD_AutoCollectionFactory()
UsdTimeCode myUsdTimeCode
bool randomAccess() const override
virtual XUSD_AutoCollection * create(const UT_StringHolder &collectionname, const UT_StringArray &orderedargs, const UT_StringMap< UT_StringHolder > &namedargs, HUSD_AutoAnyLock &lock, HUSD_PrimTraversalDemands demands, int nodeid, const HUSD_TimeCode &timecode) const =0
virtual bool getMayBeTimeVarying() const
HUSD_PrimTraversalDemands
bool myMayBeTimeVaryingSubPattern
UT_StringArray myOrderedArgs
UT_StringHolder myTokenParsingError
XUSD_AutoCollection * create(const UT_StringHolder &collectionname, const UT_StringArray &orderedargs, const UT_StringMap< UT_StringHolder > &namedargs, HUSD_AutoAnyLock &lock, HUSD_PrimTraversalDemands demands, int nodeid, const HUSD_TimeCode &timecode) const override
UT_StringMap< UT_StringHolder > myNamedArgs
HUSD_AutoAnyLock & myLock
HUSD_PrimTraversalDemands myDemands
bool canCreateAutoCollection(const char *cname) const override
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
~XUSD_SimpleAutoCollectionFactory() override
virtual void matchPrimitives(XUSD_PathSet &matches) const
#define PXR_NAMESPACE_CLOSE_SCOPE
virtual bool matchRandomAccessPrimitive(const SdfPath &path, bool *prune_branch) const
SYS_VISIBILITY_EXPORT void newAutoCollection(void *unused)
virtual bool canCreateAutoCollection(const char *token) const =0
XUSD_AutoCollectionFactory()
XUSD_SimpleAutoCollectionFactory(const char *cname)