7#ifndef PXR_USD_KIND_REGISTRY_H
8#define PXR_USD_KIND_REGISTRY_H
13#include "pxr/usd/kind/api.h"
19#include <unordered_map>
22PXR_NAMESPACE_OPEN_SCOPE
104 bool _HasKind(
const TfToken& kind)
const;
108 bool _IsA(
const TfToken& derivedKind,
const TfToken &baseKind)
const;
110 std::vector<TfToken> _GetAllKinds()
const;
115 void _Register(
const TfToken& kind,
118 void _RegisterDefaults();
124 typedef std::unordered_map<TfToken, _KindData, TfToken::HashFunctor>
133PXR_NAMESPACE_CLOSE_SCOPE
A singleton that holds known kinds and information about them.
static KIND_API bool IsAssembly(const TfToken &kind)
Return true if kind IsA assembly kind.
static KIND_API bool IsGroup(const TfToken &kind)
Returns true if kind IsA group kind.
static KIND_API bool HasKind(const TfToken &kind)
Test whether kind is known to the registry.
static KIND_API KindRegistry & GetInstance()
Return the single KindRegistry instance.
static KIND_API bool IsSubComponent(const TfToken &kind)
Returns true if kind IsA subcomponent kind.
static KIND_API TfToken GetBaseKind(const TfToken &kind)
Return the base kind of the given kind.
static KIND_API std::vector< TfToken > GetAllKinds()
Return an unordered vector of all kinds known to the registry.
static KIND_API bool IsModel(const TfToken &kind)
Returns true if kind IsA model kind.
static KIND_API bool IsComponent(const TfToken &kind)
Returns true if kind IsA component kind.
static KIND_API bool IsA(const TfToken &derivedKind, const TfToken &baseKind)
Test whether derivedKind is the same as baseKind or has it as a base kind (either directly or indirec...
Manage a single instance of an object (see.
Token for efficient comparison, assignment, and hashing of known strings.
Enable a concrete base class for use with TfWeakPtr.
Manage a single instance of an object.
This file defines some macros that are useful for declaring and using static TfTokens.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...