![]() |
|
The base class prim adapter for scene index support. More...
#include <sceneIndexPrimAdapter.h>
Inheritance diagram for UsdImagingSceneIndexPrimAdapter:Public Types | |
| using | BaseAdapter = UsdImagingPrimAdapter |
Public Types inherited from UsdImagingPrimAdapter | |
| enum | PopulationMode { RepresentsSelf , RepresentsSelfAndDescendents , RepresentedByAncestor } |
Public Member Functions | |
Scene Index Support | |
| TfTokenVector | GetImagingSubprims (UsdPrim const &prim) override=0 |
| TfToken | GetImagingSubprimType (UsdPrim const &prim, TfToken const &subprim) override=0 |
| HdContainerDataSourceHandle | GetImagingSubprimData (UsdPrim const &prim, TfToken const &subprim, const UsdImagingDataSourceStageGlobals &stageGlobals) override=0 |
| HdDataSourceLocatorSet | InvalidateImagingSubprim (UsdPrim const &prim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType) override=0 |
Legacy | |
Implementation of deprecated pure-virtuals; these functions don't participate in the stage scene index. | |
| USDIMAGING_API SdfPath | Populate (UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=nullptr) override final |
| Called to populate the RenderIndex for this UsdPrim. | |
| USDIMAGING_API void | TrackVariability (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override final |
For the given prim, variability is detected and stored in timeVaryingBits. | |
| USDIMAGING_API void | UpdateForTime (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override final |
Populates the cache for the given prim, time and requestedBits. | |
| USDIMAGING_API HdDirtyBits | ProcessPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName) override final |
| Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized. | |
| USDIMAGING_API void | MarkDirty (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits dirty, UsdImagingIndexProxy *index) override final |
| USDIMAGING_API void | _RemovePrim (SdfPath const &cachePath, UsdImagingIndexProxy *index) override final |
Public Member Functions inherited from UsdImagingPrimAdapter | |
| 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 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 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) |
| virtual USDIMAGING_API void | InvokeComputation (SdfPath const &cachePath, HdExtComputationContext *context) |
| 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. | |
| virtual USDIMAGING_API GfMatrix4d | GetRelativeInstancerTransform (SdfPath const &instancerPath, SdfPath const &protoInstancerPath, UsdTimeCode time) const |
Returns the transform of protoInstancerPath relative to instancerPath. | |
| 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 |
| virtual USDIMAGING_API HdVolumeFieldDescriptorVector | GetVolumeFieldDescriptors (UsdPrim const &usdPrim, SdfPath const &id, UsdTimeCode time) const |
| virtual USDIMAGING_API VtValue | GetLightParamValue (const UsdPrim &prim, const SdfPath &cachePath, const TfToken ¶mName, UsdTimeCode time) const |
| 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 |
| virtual USDIMAGING_API const TfTokenVector & | GetExtComputationSceneInputNames (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 |
| virtual bool | IsSupported (UsdImagingIndexProxy const *index) const |
| Returns true if the adapter can be populated into the target index. | |
| 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. | |
| virtual USDIMAGING_API bool | ShouldCullChildren () const |
| virtual USDIMAGING_API bool | ShouldIgnoreNativeInstanceSubtrees () const |
| virtual USDIMAGING_API bool | IsInstancerAdapter () const |
| virtual USDIMAGING_API bool | CanPopulateUsdInstance () const |
Additional Inherited Members | |
Static Public Member Functions inherited from UsdImagingPrimAdapter | |
| static USDIMAGING_API UsdAttribute | LookupLightParamAttribute (UsdPrim const &prim, TfToken const ¶mName) |
| Provides to paramName->UsdAttribute value mappings. | |
| static USDIMAGING_API bool | ShouldCullSubtree (UsdPrim const &prim) |
Protected Types inherited from UsdImagingPrimAdapter | |
| using | Keys = UsdImagingPrimvarDescCache::Key |
Protected Member Functions inherited from UsdImagingPrimAdapter | |
| virtual USDIMAGING_API SdfPath | ResolveCachePath (const SdfPath &usdPath, const UsdImagingInstancerContext *instancerContext=nullptr) const |
| template<typename T > | |
| 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 |
| 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 Protected Member Functions inherited from UsdImagingPrimAdapter | |
| static USDIMAGING_API bool | _HasPrimvarsPrefix (TfToken const &propertyName) |
The base class prim adapter for scene index support.
Note that while the plugin system uses UsdImagingPrimAdapter, that class is overloaded with functionality for both UsdImagingStageSceneIndex and UsdImagingDelegate, and (e.g.) has a bunch of pure virtual functions that are only relevant to UsdImagingDelegate.
Pure scene index prim types should consider this the base class, and only use API defined here.
Definition at line 27 of file sceneIndexPrimAdapter.h.
| using BaseAdapter = UsdImagingPrimAdapter |
Definition at line 30 of file sceneIndexPrimAdapter.h.
|
finaloverridevirtual |
Implements UsdImagingPrimAdapter.
|
overridepure virtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridepure virtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridepure virtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridepure virtual |
Reimplemented from UsdImagingPrimAdapter.
|
finaloverridevirtual |
Implements UsdImagingPrimAdapter.
|
finaloverridevirtual |
Called to populate the RenderIndex for this UsdPrim.
The adapter is expected to create one or more prims in the render index using the given proxy.
Implements UsdImagingPrimAdapter.
|
finaloverridevirtual |
Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized.
Implements UsdImagingPrimAdapter.
|
finaloverridevirtual |
For the given prim, variability is detected and stored in timeVaryingBits.
Initial values are cached into the value cache.
This method is expected to be called from multiple threads.
Implements UsdImagingPrimAdapter.
|
finaloverridevirtual |
Populates the cache for the given prim, time and requestedBits.
This method is expected to be called from multiple threads.
Implements UsdImagingPrimAdapter.