This document is for a version of USD that is under development. See this page for the current release.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
UsdImagingPrimAdapter Class Referenceabstract

Base class for all PrimAdapters. More...

#include <primAdapter.h>

+ Inheritance diagram for UsdImagingPrimAdapter:

Public Member Functions

Parallel Setup and Resolve
virtual void TrackVariability (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=nullptr) const =0
 For the given prim, variability is detected and stored in timeVaryingBits.
 
virtual void UpdateForTime (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=nullptr) const =0
 Populates the cache for the given prim, time and requestedBits.
 
Change Processing
virtual USDIMAGING_API HdDirtyBits ProcessPrimChange (UsdPrim const &prim, SdfPath const &cachePath, TfTokenVector const &changedFields)
 Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized.
 
virtual HdDirtyBits ProcessPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName)=0
 Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized.
 
virtual USDIMAGING_API void ProcessPrimResync (SdfPath const &cachePath, UsdImagingIndexProxy *index)
 When a PrimResync event occurs, the prim may have been deleted entirely, adapter plug-ins should override this method to free any per-prim state that was accumulated in the adapter.
 
virtual USDIMAGING_API void ProcessPrimRemoval (SdfPath const &cachePath, UsdImagingIndexProxy *index)
 Removes all associated Rprims and dependencies from the render index without scheduling them for repopulation.
 
virtual void MarkDirty (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits dirty, UsdImagingIndexProxy *index)=0
 
virtual USDIMAGING_API void MarkRefineLevelDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkReprDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkCullStyleDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkRenderTagDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkTransformDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkVisibilityDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkMaterialDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkLightParamsDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkWindowPolicyDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void MarkCollectionsDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
Computations
virtual USDIMAGING_API void InvokeComputation (SdfPath const &cachePath, HdExtComputationContext *context)
 
Instancing
virtual USDIMAGING_API std::vector< VtArray< TfToken > > GetInstanceCategories (UsdPrim const &prim)
 Return an array of the categories used by each instance.
 
virtual USDIMAGING_API GfMatrix4d GetInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time) const
 Get the instancer transform for the given prim.
 
virtual USDIMAGING_API size_t SampleInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, GfMatrix4d *sampleValues)
 Sample the instancer transform for the given prim.
 
virtual USDIMAGING_API SdfPath GetInstancerId (UsdPrim const &usdPrim, SdfPath const &cachePath) const
 Return the instancerId for this prim.
 
virtual USDIMAGING_API SdfPathVector GetInstancerPrototypes (UsdPrim const &usdPrim, SdfPath const &cachePath) const
 Return the list of known prototypes of this prim.
 
virtual USDIMAGING_API size_t SamplePrimvar (UsdPrim const &usdPrim, SdfPath const &cachePath, TfToken const &key, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, VtValue *sampleValues, VtIntArray *sampleIndices)
 Sample the primvar for the given prim.
 
virtual USDIMAGING_API PxOsdSubdivTags GetSubdivTags (UsdPrim const &usdPrim, SdfPath const &cachePath, UsdTimeCode time) const
 Get the subdiv tags for this prim.
 
Nested instancing support
virtual USDIMAGING_API GfMatrix4d GetRelativeInstancerTransform (SdfPath const &instancerPath, SdfPath const &protoInstancerPath, UsdTimeCode time) const
 Returns the transform of protoInstancerPath relative to instancerPath.
 
Selection
virtual USDIMAGING_API SdfPath GetScenePrimPath (SdfPath const &cachePath, int instanceIndex, HdInstancerContext *instancerCtx) const
 
virtual USDIMAGING_API SdfPathVector GetScenePrimPaths (SdfPath const &cachePath, std::vector< int > const &instanceIndices, std::vector< HdInstancerContext > *instancerCtxs) const
 
virtual USDIMAGING_API bool PopulateSelection (HdSelection::HighlightMode const &highlightMode, SdfPath const &cachePath, UsdPrim const &usdPrim, int const hydraInstanceIndex, VtIntArray const &parentInstanceIndices, HdSelectionSharedPtr const &result) const
 
Volume field information
virtual USDIMAGING_API HdVolumeFieldDescriptorVector GetVolumeFieldDescriptors (UsdPrim const &usdPrim, SdfPath const &id, UsdTimeCode time) const
 
Light Params
virtual USDIMAGING_API VtValue GetLightParamValue (const UsdPrim &prim, const SdfPath &cachePath, const TfToken &paramName, UsdTimeCode time) const
 
Utilities
USDIMAGING_API GfMatrix4d GetRootTransform () const
 The root transform provided by the delegate.
 
USDIMAGING_API void SetDelegate (UsdImagingDelegate *delegate)
 A thread-local XformCache provided by the delegate.
 
virtual USDIMAGING_API bool IsChildPath (const SdfPath &path) const
 
virtual USDIMAGING_API bool GetVisible (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Returns true if the given prim is visible, taking into account inherited visibility values.
 
virtual USDIMAGING_API TfToken GetPurpose (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &instanceInheritablePurpose) const
 Returns the purpose token for prim.
 
USDIMAGING_API TfToken GetInheritablePurpose (UsdPrim const &prim) const
 Returns the purpose token for prim, but only if it is inheritable by child prims (i.e.
 
virtual USDIMAGING_API GfMatrix4d GetTransform (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, bool ignoreRootTransform=false) const
 Fetches the transform for the given prim at the given time from a pre-computed cache of prim transforms.
 
virtual USDIMAGING_API size_t SampleTransform (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, GfMatrix4d *sampleValues)
 Samples the transform for the given prim.
 
virtual USDIMAGING_API VtValue Get (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &key, UsdTimeCode time, VtIntArray *outIndices) const
 Gets the value of the parameter named key for the given prim (which has the given cache path) and given time.
 
virtual USDIMAGING_API HdCullStyle GetCullStyle (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Gets the cullstyle of a specific path in the scene graph.
 
USDIMAGING_API SdfPath GetMaterialUsdPath (UsdPrim const &prim) const
 Gets the material path for the given prim, walking up namespace if necessary.
 
USDIMAGING_API TfToken GetModelDrawMode (UsdPrim const &prim)
 Gets the model:drawMode attribute for the given prim, walking up the namespace if necessary.
 
USDIMAGING_API HdModelDrawMode GetFullModelDrawMode (UsdPrim const &prim)
 Gets the model draw mode object for the given prim, walking up the namespace if necessary.
 
USDIMAGING_API VtArray< VtIntArray > GetPerPrototypeIndices (UsdPrim const &prim, UsdTimeCode time) const
 Computes the per-prototype instance indices for a UsdGeomPointInstancer.
 
virtual USDIMAGING_API VtValue GetTopology (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Gets the topology object of a specific Usd prim.
 
virtual USDIMAGING_API GfRange3d GetExtent (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Reads the extent from the given prim.
 
virtual USDIMAGING_API bool GetDoubleSided (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 Reads double-sided from the given prim. If not authored, returns false.
 
virtual USDIMAGING_API SdfPath GetMaterialId (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 
virtual USDIMAGING_API VtValue GetMaterialResource (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 
ExtComputations
virtual USDIMAGING_API const TfTokenVectorGetExtComputationSceneInputNames (SdfPath const &cachePath) const
 
virtual USDIMAGING_API HdExtComputationInputDescriptorVector GetExtComputationInputs (UsdPrim const &prim, SdfPath const &cachePath, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API HdExtComputationOutputDescriptorVector GetExtComputationOutputs (UsdPrim const &prim, SdfPath const &cachePath, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API HdExtComputationPrimvarDescriptorVector GetExtComputationPrimvars (UsdPrim const &prim, SdfPath const &cachePath, HdInterpolation interpolation, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API VtValue GetExtComputationInput (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &name, UsdTimeCode time, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API size_t SampleExtComputationInput (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &name, UsdTimeCode time, const UsdImagingInstancerContext *instancerContext, size_t maxSampleCount, float *sampleTimes, VtValue *sampleValues)
 
virtual USDIMAGING_API std::string GetExtComputationKernel (UsdPrim const &prim, SdfPath const &cachePath, const UsdImagingInstancerContext *instancerContext) const
 
virtual USDIMAGING_API VtValue GetInstanceIndices (UsdPrim const &instancerPrim, SdfPath const &instancerCachePath, SdfPath const &prototypeCachePath, UsdTimeCode time) const
 
Render Index Compatibility
virtual bool IsSupported (UsdImagingIndexProxy const *index) const
 Returns true if the adapter can be populated into the target index.
 

Scene Index Support

enum  PopulationMode { RepresentsSelf , RepresentsSelfAndDescendents , RepresentedByAncestor }
 
virtual USDIMAGING_API TfTokenVector GetImagingSubprims (UsdPrim const &prim)
 
virtual USDIMAGING_API TfToken GetImagingSubprimType (UsdPrim const &prim, TfToken const &subprim)
 
virtual USDIMAGING_API HdContainerDataSourceHandle GetImagingSubprimData (UsdPrim const &prim, TfToken const &subprim, const UsdImagingDataSourceStageGlobals &stageGlobals)
 
virtual USDIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprim (UsdPrim const &prim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType)
 
virtual USDIMAGING_API PopulationMode GetPopulationMode ()
 Returns the prim's behavior with regard to population and invalidation.
 
virtual USDIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprimFromDescendent (UsdPrim const &prim, UsdPrim const &descendentPrim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType)
 This is called (for each result of GetImagingSubprims) when this adapter's GetScope() result is RepresentsSelfAndDescendents and USD properties have changed on a descendent prim whose adapter's GetScope() result is RepresentedByAncestor.
 

Utility

using Keys = UsdImagingPrimvarDescCache::Key
 
virtual USDIMAGING_API SdfPath ResolveCachePath (const SdfPath &usdPath, const UsdImagingInstancerContext *instancerContext=nullptr) const
 
template<typename T >
_Get (UsdPrim const &prim, TfToken const &attrToken, UsdTimeCode time) const
 
template<typename T >
void _GetPtr (UsdPrim const &prim, TfToken const &key, UsdTimeCode time, T *out) const
 
USDIMAGING_API UsdImagingPrimvarDescCache_GetPrimvarDescCache () const
 
USDIMAGING_API UsdImaging_NonlinearSampleCountCache * _GetNonlinearSampleCountCache () const
 
USDIMAGING_API UsdImaging_BlurScaleCache * _GetBlurScaleCache () const
 
USDIMAGING_API UsdPrim _GetPrim (SdfPath const &usdPath) const
 
USDIMAGING_API const UsdImagingPrimAdapterSharedPtr & _GetPrimAdapter (UsdPrim const &prim, bool ignoreInstancing=false) const
 
USDIMAGING_API const UsdImagingPrimAdapterSharedPtr & _GetAdapter (TfToken const &adapterKey) const
 
USDIMAGING_API SdfPath _GetPrimPathFromInstancerChain (SdfPathVector const &instancerChain) const
 
USDIMAGING_API UsdTimeCode _GetTimeWithOffset (float offset) const
 
USDIMAGING_API SdfPath _ConvertCachePathToIndexPath (SdfPath const &cachePath) const
 
USDIMAGING_API SdfPath _ConvertIndexPathToCachePath (SdfPath const &indexPath) const
 
USDIMAGING_API TfToken _GetMaterialBindingPurpose () const
 
USDIMAGING_API TfTokenVector _GetMaterialRenderContexts () const
 
USDIMAGING_API TfTokenVector _GetRenderSettingsNamespaces () const
 
USDIMAGING_API bool _GetSceneMaterialsEnabled () const
 Returns whether custom shading of prims is enabled.
 
USDIMAGING_API bool _GetSceneLightsEnabled () const
 Returns whether lights found in the usdscene are enabled.
 
USDIMAGING_API bool _IsPrimvarFilteringNeeded () const
 
USDIMAGING_API TfTokenVector _GetShaderSourceTypes () const
 
USDIMAGING_API bool _IsInInvisedPaths (SdfPath const &usdPath) const
 
USDIMAGING_API bool _IsVarying (UsdPrim prim, TfToken const &attrName, HdDirtyBits dirtyFlag, TfToken const &perfToken, HdDirtyBits *dirtyFlags, bool isInherited, bool *exists=nullptr) const
 
USDIMAGING_API bool _IsTransformVarying (UsdPrim prim, HdDirtyBits dirtyFlag, TfToken const &perfToken, HdDirtyBits *dirtyFlags) const
 
USDIMAGING_API void _MergePrimvar (HdPrimvarDescriptorVector *vec, TfToken const &name, HdInterpolation interp, TfToken const &role=TfToken(), bool indexed=false) const
 
USDIMAGING_API void _RemovePrimvar (HdPrimvarDescriptorVector *vec, TfToken const &name) const
 
USDIMAGING_API void _ComputeAndMergePrimvar (UsdPrim const &prim, UsdGeomPrimvar const &primvar, UsdTimeCode time, HdPrimvarDescriptorVector *primvarDescs, HdInterpolation *interpOverride=nullptr) const
 
USDIMAGING_API HdDirtyBits _ProcessNonPrefixedPrimvarPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName, TfToken const &primvarName, HdInterpolation const &primvarInterp, HdDirtyBits valueChangeDirtyBit=HdChangeTracker::DirtyPrimvar) const
 
USDIMAGING_API HdDirtyBits _ProcessPrefixedPrimvarPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName, HdDirtyBits valueChangeDirtyBit=HdChangeTracker::DirtyPrimvar, bool inherited=true) const
 
virtual void _RemovePrim (SdfPath const &cachePath, UsdImagingIndexProxy *index)=0
 
USDIMAGING_API void _ResyncDependents (SdfPath const &usdPath, UsdImagingIndexProxy *index)
 
USDIMAGING_API UsdImaging_CollectionCache & _GetCollectionCache () const
 
USDIMAGING_API UsdStageRefPtr _GetStage () const
 
USDIMAGING_API UsdImaging_CoordSysBindingStrategy::value_type _GetCoordSysBindings (UsdPrim const &prim) const
 
USDIMAGING_API UsdImaging_InheritedPrimvarStrategy::value_type _GetInheritedPrimvars (UsdPrim const &prim) const
 
USDIMAGING_API UsdGeomPrimvar _GetInheritedPrimvar (UsdPrim const &prim, TfToken const &primvarName) const
 
USDIMAGING_API GfInterval _GetCurrentTimeSamplingInterval ()
 
USDIMAGING_API Usd_PrimFlagsConjunction _GetDisplayPredicate () const
 
USDIMAGING_API Usd_PrimFlagsConjunction _GetDisplayPredicateForPrototypes () const
 
USDIMAGING_API bool _DoesDelegateSupportCoordSys () const
 
static USDIMAGING_API bool _HasPrimvarsPrefix (TfToken const &propertyName)
 

Utilties

class UsdImagingInstanceAdapter
 
class UsdImagingPointInstancerAdapter
 
static USDIMAGING_API UsdAttribute LookupLightParamAttribute (UsdPrim const &prim, TfToken const &paramName)
 Provides to paramName->UsdAttribute value mappings.
 

Initialization

virtual SdfPath Populate (UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=nullptr)=0
 Called to populate the RenderIndex for this UsdPrim.
 
virtual USDIMAGING_API bool ShouldCullChildren () const
 
virtual USDIMAGING_API bool ShouldIgnoreNativeInstanceSubtrees () const
 
virtual USDIMAGING_API bool IsInstancerAdapter () const
 
virtual USDIMAGING_API bool CanPopulateUsdInstance () const
 
static USDIMAGING_API bool ShouldCullSubtree (UsdPrim const &prim)
 

Detailed Description

Base class for all PrimAdapters.

Definition at line 52 of file primAdapter.h.

Member Typedef Documentation

◆ Keys

using Keys = UsdImagingPrimvarDescCache::Key
protected

Definition at line 698 of file primAdapter.h.

Member Enumeration Documentation

◆ PopulationMode

Enumerator
RepresentsSelf 

The adapter is responsible only for USD prims of its registered type.

Any descendent USD prims are managed independently.

RepresentsSelfAndDescendents 

The adapter is responsible for USD prims of its registered type as well as any descendents of those prims.

No population occurs for descendent prims. USD changes to descendent prims whose own PopulationMode is set to RepresentedByAncestor will be send to this adapter.

RepresentedByAncestor 

Changes to prims of this adapter's registered type are sent to the first ancestor prim whose adapter's PopulationMode value is RepresentsSelfAndDescendents.

This value alone does not prevent population as it is expected that such prims appear beneath another prim whose own PopulationMode value prevents descendents from being populated.

Definition at line 88 of file primAdapter.h.

Member Function Documentation

◆ _Get()

T _Get ( UsdPrim const &  prim,
TfToken const &  attrToken,
UsdTimeCode  time 
) const
inlineprotected

Definition at line 701 of file primAdapter.h.

◆ _GetPtr()

void _GetPtr ( UsdPrim const &  prim,
TfToken const &  key,
UsdTimeCode  time,
T *  out 
) const
inlineprotected

Definition at line 709 of file primAdapter.h.

◆ _GetSceneLightsEnabled()

USDIMAGING_API bool _GetSceneLightsEnabled ( ) const
protected

Returns whether lights found in the usdscene are enabled.

◆ _GetSceneMaterialsEnabled()

USDIMAGING_API bool _GetSceneMaterialsEnabled ( ) const
protected

Returns whether custom shading of prims is enabled.

◆ Get()

virtual USDIMAGING_API VtValue Get ( UsdPrim const &  prim,
SdfPath const &  cachePath,
TfToken const &  key,
UsdTimeCode  time,
VtIntArray *  outIndices 
) const
virtual

◆ GetCullStyle()

virtual USDIMAGING_API HdCullStyle GetCullStyle ( UsdPrim const &  prim,
SdfPath const &  cachePath,
UsdTimeCode  time 
) const
virtual

Gets the cullstyle of a specific path in the scene graph.

Reimplemented in UsdImagingDrawModeAdapter, UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetDoubleSided()

virtual USDIMAGING_API bool GetDoubleSided ( UsdPrim const &  prim,
SdfPath const &  cachePath,
UsdTimeCode  time 
) const
virtual

Reads double-sided from the given prim. If not authored, returns false.

Reimplemented in UsdImagingDrawModeAdapter, UsdImagingGprimAdapter, UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetExtent()

virtual USDIMAGING_API GfRange3d GetExtent ( UsdPrim const &  prim,
SdfPath const &  cachePath,
UsdTimeCode  time 
) const
virtual

Reads the extent from the given prim.

If the extent is not authored, an empty GfRange3d is returned, the extent will not be computed.

Reimplemented in UsdImagingDrawModeAdapter, UsdImagingGprimAdapter, UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetFullModelDrawMode()

USDIMAGING_API HdModelDrawMode GetFullModelDrawMode ( UsdPrim const &  prim)

Gets the model draw mode object for the given prim, walking up the namespace if necessary.

◆ GetInheritablePurpose()

USDIMAGING_API TfToken GetInheritablePurpose ( UsdPrim const &  prim) const

Returns the purpose token for prim, but only if it is inheritable by child prims (i.e.

it is an explicitly authored purpose on the prim itself or one of the prim's ancestors), otherwise it returns the empty token.

◆ GetInstanceCategories()

virtual USDIMAGING_API std::vector< VtArray< TfToken > > GetInstanceCategories ( UsdPrim const &  prim)
virtual

Return an array of the categories used by each instance.

Reimplemented in UsdImagingInstanceAdapter.

◆ GetInstancerId()

virtual USDIMAGING_API SdfPath GetInstancerId ( UsdPrim const &  usdPrim,
SdfPath const &  cachePath 
) const
virtual

Return the instancerId for this prim.

Reimplemented in UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetInstancerPrototypes()

virtual USDIMAGING_API SdfPathVector GetInstancerPrototypes ( UsdPrim const &  usdPrim,
SdfPath const &  cachePath 
) const
virtual

Return the list of known prototypes of this prim.

Reimplemented in UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetInstancerTransform()

virtual USDIMAGING_API GfMatrix4d GetInstancerTransform ( UsdPrim const &  instancerPrim,
SdfPath const &  instancerPath,
UsdTimeCode  time 
) const
virtual

Get the instancer transform for the given prim.

See also
HdSceneDelegate::GetInstancerTransform()

Reimplemented in UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetMaterialUsdPath()

USDIMAGING_API SdfPath GetMaterialUsdPath ( UsdPrim const &  prim) const

Gets the material path for the given prim, walking up namespace if necessary.


◆ GetModelDrawMode()

USDIMAGING_API TfToken GetModelDrawMode ( UsdPrim const &  prim)

Gets the model:drawMode attribute for the given prim, walking up the namespace if necessary.

◆ GetPerPrototypeIndices()

USDIMAGING_API VtArray< VtIntArray > GetPerPrototypeIndices ( UsdPrim const &  prim,
UsdTimeCode  time 
) const

Computes the per-prototype instance indices for a UsdGeomPointInstancer.

XXX: This needs to be defined on the base class, to have access to the delegate, but it's a clear violation of abstraction. This call is only legal for prims of type UsdGeomPointInstancer; in other cases, the returned array will be empty and the computation will issue errors.

◆ GetPopulationMode()

virtual USDIMAGING_API PopulationMode GetPopulationMode ( )
virtual

Returns the prim's behavior with regard to population and invalidation.

See PopulationMode for possible values.

Reimplemented in UsdImagingMaterialAdapter, and UsdImagingRepresentedByAncestorPrimAdapter.

◆ GetPurpose()

virtual USDIMAGING_API TfToken GetPurpose ( UsdPrim const &  prim,
SdfPath const &  cachePath,
TfToken const &  instanceInheritablePurpose 
) const
virtual

Returns the purpose token for prim.

If a non-empty instanceInheritablePurpose is specified and the prim doesn't have an explicitly authored or inherited purpose, it may inherit the instancer's purpose if the instance has an explicit purpose.

Reimplemented in UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetRelativeInstancerTransform()

virtual USDIMAGING_API GfMatrix4d GetRelativeInstancerTransform ( SdfPath const &  instancerPath,
SdfPath const &  protoInstancerPath,
UsdTimeCode  time 
) const
virtual

Returns the transform of protoInstancerPath relative to instancerPath.

instancerPath must be managed by this adapter.

Reimplemented in UsdImagingPointInstancerAdapter, and UsdImagingInstanceAdapter.

◆ GetRootTransform()

USDIMAGING_API GfMatrix4d GetRootTransform ( ) const

The root transform provided by the delegate.

◆ GetScenePrimPath()

virtual USDIMAGING_API SdfPath GetScenePrimPath ( SdfPath const &  cachePath,
int  instanceIndex,
HdInstancerContext *  instancerCtx 
) const
virtual
Deprecated:
Call and implement GetScenePrimPaths instead.

Reimplemented in UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetSubdivTags()

virtual USDIMAGING_API PxOsdSubdivTags GetSubdivTags ( UsdPrim const &  usdPrim,
SdfPath const &  cachePath,
UsdTimeCode  time 
) const
virtual

Get the subdiv tags for this prim.

Reimplemented in UsdImagingInstanceAdapter, UsdImagingMeshAdapter, and UsdImagingPointInstancerAdapter.

◆ GetTopology()

virtual USDIMAGING_API VtValue GetTopology ( UsdPrim const &  prim,
SdfPath const &  cachePath,
UsdTimeCode  time 
) const
virtual

◆ GetTransform()

virtual USDIMAGING_API GfMatrix4d GetTransform ( UsdPrim const &  prim,
SdfPath const &  cachePath,
UsdTimeCode  time,
bool  ignoreRootTransform = false 
) const
virtual

Fetches the transform for the given prim at the given time from a pre-computed cache of prim transforms.

Requesting transforms at incoherent times is currently inefficient.

Reimplemented in UsdImagingDrawModeAdapter, UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ GetVisible()

virtual USDIMAGING_API bool GetVisible ( UsdPrim const &  prim,
SdfPath const &  cachePath,
UsdTimeCode  time 
) const
virtual

Returns true if the given prim is visible, taking into account inherited visibility values.

Inherited values are strongest, Usd has no notion of "super vis/invis".

Reimplemented in UsdImagingPointInstancerAdapter, and UsdImagingInstanceAdapter.

◆ InvalidateImagingSubprimFromDescendent()

virtual USDIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprimFromDescendent ( UsdPrim const &  prim,
UsdPrim const &  descendentPrim,
TfToken const &  subprim,
TfTokenVector const &  properties,
UsdImagingPropertyInvalidationType  invalidationType 
)
virtual

This is called (for each result of GetImagingSubprims) when this adapter's GetScope() result is RepresentsSelfAndDescendents and USD properties have changed on a descendent prim whose adapter's GetScope() result is RepresentedByAncestor.

Reimplemented in UsdImagingMaterialAdapter.

◆ IsSupported()

◆ LookupLightParamAttribute()

static USDIMAGING_API UsdAttribute LookupLightParamAttribute ( UsdPrim const &  prim,
TfToken const &  paramName 
)
static

Provides to paramName->UsdAttribute value mappings.

◆ Populate()

virtual SdfPath Populate ( UsdPrim const &  prim,
UsdImagingIndexProxy index,
UsdImagingInstancerContext const *  instancerContext = nullptr 
)
pure virtual

◆ ProcessPrimChange()

virtual USDIMAGING_API HdDirtyBits ProcessPrimChange ( UsdPrim const &  prim,
SdfPath const &  cachePath,
TfTokenVector const &  changedFields 
)
virtual

Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized.

changedFields contains a list of changed scene description fields for this prim. This may be empty in certain cases, like the addition of an inert prim spec for the given prim.

The default implementation returns HdChangeTracker::AllDirty if any of the changed fields are plugin metadata fields, HdChangeTracker::Clean otherwise.

◆ ProcessPrimRemoval()

virtual USDIMAGING_API void ProcessPrimRemoval ( SdfPath const &  cachePath,
UsdImagingIndexProxy index 
)
virtual

Removes all associated Rprims and dependencies from the render index without scheduling them for repopulation.


Reimplemented in UsdImagingDrawModeAdapter, UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ ProcessPrimResync()

virtual USDIMAGING_API void ProcessPrimResync ( SdfPath const &  cachePath,
UsdImagingIndexProxy index 
)
virtual

When a PrimResync event occurs, the prim may have been deleted entirely, adapter plug-ins should override this method to free any per-prim state that was accumulated in the adapter.

Reimplemented in UsdImagingDrawModeAdapter, UsdImagingInstanceAdapter, UsdImagingMaterialAdapter, and UsdImagingPointInstancerAdapter.

◆ ProcessPropertyChange()

◆ SampleInstancerTransform()

virtual USDIMAGING_API size_t SampleInstancerTransform ( UsdPrim const &  instancerPrim,
SdfPath const &  instancerPath,
UsdTimeCode  time,
size_t  maxNumSamples,
float *  sampleTimes,
GfMatrix4d sampleValues 
)
virtual

Sample the instancer transform for the given prim.

See also
HdSceneDelegate::SampleInstancerTransform()

Reimplemented in UsdImagingPointInstancerAdapter, and UsdImagingInstanceAdapter.

◆ SamplePrimvar()

virtual USDIMAGING_API size_t SamplePrimvar ( UsdPrim const &  usdPrim,
SdfPath const &  cachePath,
TfToken const &  key,
UsdTimeCode  time,
size_t  maxNumSamples,
float *  sampleTimes,
VtValue sampleValues,
VtIntArray *  sampleIndices 
)
virtual

Sample the primvar for the given prim.

If *sampleIndices is not nullptr and the primvar has indices, it will sample the unflattened primvar and set *sampleIndices to the primvar's sampled indices.

See also
HdSceneDelegate::SamplePrimvar() and HdSceneDelegate::SampleIndexedPrimvar()

Reimplemented in UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ SampleTransform()

virtual USDIMAGING_API size_t SampleTransform ( UsdPrim const &  prim,
SdfPath const &  cachePath,
UsdTimeCode  time,
size_t  maxNumSamples,
float *  sampleTimes,
GfMatrix4d sampleValues 
)
virtual

Samples the transform for the given prim.

Reimplemented in UsdImagingInstanceAdapter, and UsdImagingPointInstancerAdapter.

◆ SetDelegate()

USDIMAGING_API void SetDelegate ( UsdImagingDelegate delegate)

A thread-local XformCache provided by the delegate.

◆ TrackVariability()

◆ UpdateForTime()

Friends And Related Function Documentation

◆ UsdImagingInstanceAdapter

friend class UsdImagingInstanceAdapter
friend

Definition at line 684 of file primAdapter.h.

◆ UsdImagingPointInstancerAdapter

friend class UsdImagingPointInstancerAdapter
friend

Definition at line 685 of file primAdapter.h.


The documentation for this class was generated from the following file: