HDK
|
#include <schemaBase.h>
Public Member Functions | |
bool | IsConcrete () const |
bool | IsTyped () const |
bool | IsAPISchema () const |
Returns whether this is an API schema or not. More... | |
bool | IsAppliedAPISchema () const |
bool | IsMultipleApplyAPISchema () const |
UsdSchemaKind | GetSchemaKind () const |
Returns the kind of schema this class is. More... | |
USD_API | UsdSchemaBase (const UsdPrim &prim=UsdPrim()) |
Construct and store prim as the held prim. More... | |
USD_API | UsdSchemaBase (const UsdSchemaBase &otherSchema) |
Construct and store for the same prim held by otherSchema . More... | |
virtual USD_API | ~UsdSchemaBase () |
Destructor. More... | |
USD_API | operator bool () const |
Held prim access. | |
UsdPrim | GetPrim () const |
Return this schema object's held prim. More... | |
SdfPath | GetPath () const |
Shorthand for GetPrim()->GetPath(). More... | |
PrimDefinition access. | |
USD_API const UsdPrimDefinition * | GetSchemaClassPrimDefinition () const |
Static Public Member Functions | |
static const TfTokenVector & | GetSchemaAttributeNames (bool includeInherited=true) |
Static Public Attributes | |
static const UsdSchemaKind | schemaKind = UsdSchemaKind::AbstractBase |
Protected Member Functions | |
virtual UsdSchemaKind | _GetSchemaKind () const |
virtual UsdSchemaKind | _GetSchemaType () const |
const TfType & | _GetType () const |
USD_API UsdAttribute | _CreateAttr (TfToken const &attrName, SdfValueTypeName const &typeName, bool custom, SdfVariability variability, VtValue const &defaultValue, bool writeSparsely) const |
virtual USD_API bool | _IsCompatible () const |
Friends | |
class | UsdSchemaRegistry |
The base class for all schema types in Usd.
Schema objects hold a UsdPrim internally and provide a layer of specific named API atop the underlying scene graph.
Schema objects are polymorphic but they are intended to be created as automatic local variables, so they may be passed and returned by-value. This leaves them subject to slicing. This means that if one passes a SpecificSchema
instance to a function that takes a UsdSchemaBase by-value, all the polymorphic behavior specific to SpecificSchema
is lost.
To avoid slicing, it is encouraged that functions taking schema object arguments take them by const &
if const access is sufficient, otherwise by non-const pointer.
Definition at line 56 of file schemaBase.h.
Construct and store prim
as the held prim.
|
explicit |
Construct and store for the same prim held by otherSchema
.
|
virtual |
Destructor.
|
protected |
|
inlineprotectedvirtual |
Returns the kind of schema this class is.
Reimplemented in UsdGeomPointInstancer, UsdGeomBasisCurves, UsdCollectionAPI, UsdGeomXformable, UsdLuxLightListAPI, UsdGeomModelAPI, UsdShadeMaterialBindingAPI, UsdShadeCoordSysAPI, UsdPhysicsDriveAPI, UsdGeomMesh, UsdPhysicsLimitAPI, UsdHoudiniHoudiniProceduralAPI, UsdShadeMaterial, UsdGeomCamera, UsdGeomNurbsPatch, UsdMediaAssetPreviewsAPI, UsdMediaSpatialAudio, UsdGeomVisibilityAPI, UsdLuxLightAPI, UsdShadeNodeDefAPI, UsdRiRenderPassAPI, UsdRenderPass, UsdRiSplineAPI, UsdGeomHermiteCurves, UsdGeomSubset, UsdRiMaterialAPI, UsdSkelBindingAPI, UsdShadeShader, UsdRiStatementsAPI, UsdGeomMotionAPI, UsdUIBackdrop, UsdClipsAPI, UsdHydraGenerativeProceduralAPI, UsdLuxMeshLightAPI, UsdLuxVolumeLightAPI, UsdShadeNodeGraph, UsdLuxListAPI, UsdAPISchemaBase, UsdLuxLightFilter, UsdPhysicsMeshCollisionAPI, UsdUINodeGraphNodeAPI, UsdUISceneGraphPrimAPI, UsdGeomNurbsCurves, UsdPhysicsRigidBodyAPI, UsdPhysicsArticulationRootAPI, UsdPhysicsFilteredPairsAPI, UsdLuxShadowAPI, UsdPhysicsCollisionAPI, UsdLuxShapingAPI, UsdProcGenerativeProcedural, UsdRenderVar, UsdGeomPlane, UsdPhysicsMassAPI, UsdPhysicsMaterialAPI, UsdRenderProduct, UsdVolVolume, UsdHoudiniHoudiniCameraPlateAPI, UsdHoudiniHoudiniViewportGuideAPI, UsdHoudiniHoudiniEditableAPI, UsdHoudiniHoudiniSelectableAPI, UsdGeomCapsule, UsdGeomCapsule_1, UsdGeomCone, UsdGeomCylinder_1, UsdGeomTetMesh, UsdHoudiniHoudiniViewportLightAPI, UsdGeomCylinder, UsdGeomPoints, UsdPhysicsCollisionGroup, UsdPhysicsSphericalJoint, UsdRenderDenoisePass, UsdRenderSettings, UsdSkelBlendShape, UsdGeomXformCommonAPI, UsdLuxPluginLight, UsdLuxPluginLightFilter, UsdPhysicsPrismaticJoint, UsdPhysicsRevoluteJoint, UsdSkelRoot, UsdSkelSkeleton, UsdVolField3DAsset, UsdVolOpenVDBAsset, UsdPhysicsJoint, UsdSkelAnimation, UsdLuxRectLight, UsdGeomCube, UsdGeomSphere, UsdLuxCylinderLight, UsdGeomScope, UsdLuxGeometryLight, UsdLuxPortalLight, UsdLuxDiskLight, UsdLuxDistantLight, UsdPhysicsDistanceJoint, UsdGeomBoundable, UsdGeomPrimvarsAPI, UsdLuxSphereLight, UsdPhysicsFixedJoint, UsdPhysicsScene, UsdGeomXform, UsdShadeConnectableAPI, UsdHoudiniHoudiniMetaCurves, UsdHoudiniHoudiniFieldAsset, UsdHoudiniHoudiniLayerInfo, UsdGeomCurves, UsdGeomImageable, UsdModelAPI, UsdGeomGprim, UsdRenderSettingsBase, UsdVolFieldAsset, UsdTyped, UsdLuxBoundableLightBase, UsdLuxNonboundableLightBase, UsdGeomPointBased, and UsdVolFieldBase.
Definition at line 173 of file schemaBase.h.
|
inlineprotectedvirtual |
Leaving this around for one more release as schema classes up until now have been generated with an override of this function. We don't want those classes to immediately not compile before a chance is given to regenerate the schemas.
Definition at line 185 of file schemaBase.h.
|
inlineprotected |
Definition at line 191 of file schemaBase.h.
|
protectedvirtual |
Subclasses may override _IsCompatible to do specific compatibility checking with the given prim, such as type compatibility or value compatibility. This check is performed when clients invoke the explicit bool operator.
Reimplemented in UsdGeomXformCommonAPI, UsdAPISchemaBase, UsdShadeConnectableAPI, and UsdTyped.
|
inline |
Shorthand for GetPrim()->GetPath().
Definition at line 123 of file schemaBase.h.
|
inline |
Return this schema object's held prim.
Definition at line 120 of file schemaBase.h.
|
inlinestatic |
Definition at line 148 of file schemaBase.h.
USD_API const UsdPrimDefinition* UsdSchemaBase::GetSchemaClassPrimDefinition | ( | ) | const |
Return the prim definition associated with this schema instance if one exists, otherwise return null. This does not use the held prim's type. To get the held prim instance's definition, use UsdPrim::GetPrimDefinition().
|
inline |
Returns the kind of schema this class is.
Definition at line 100 of file schemaBase.h.
|
inline |
Returns whether this is an API schema or not.
Definition at line 79 of file schemaBase.h.
|
inline |
Returns whether this is an applied API schema or not. If this returns true this class will have an Apply() method
Definition at line 87 of file schemaBase.h.
|
inline |
Returns whether or not this class corresponds to a concrete instantiable prim type in scene description. If this is true, GetStaticPrimDefinition() will return a valid prim definition with a non-empty typeName.
Definition at line 67 of file schemaBase.h.
|
inline |
Returns whether this is an applied API schema or not. If this returns true the constructor, Get and Apply methods of this class will take in the name of the API schema instance.
Definition at line 95 of file schemaBase.h.
|
inline |
Returns whether or not this class inherits from UsdTyped. Types which inherit from UsdTyped can impart a typename on a UsdPrim.
Definition at line 73 of file schemaBase.h.
|
inlineexplicit |
Return true if this schema object is compatible with its held prim, false otherwise. For untyped schemas return true if the held prim is not expired, otherwise return false. For typed schemas return true if the held prim is not expired and its type is the schema's type or a subtype of the schema's type. Otherwise return false. This method invokes polymorphic behavior.
Definition at line 165 of file schemaBase.h.
|
friend |
Definition at line 211 of file schemaBase.h.
|
static |
Compile time constant representing what kind of schema this class is.
Definition at line 61 of file schemaBase.h.