![]() |
|
Delegate support for the drawMode attribute on UsdGeomModelAPI. More...
#include <drawModeAdapter.h>
Public Types | |
using | BaseAdapter = UsdImagingPrimAdapter |
![]() | |
enum | PopulationMode { RepresentsSelf , RepresentsSelfAndDescendents , RepresentedByAncestor } |
Public Member Functions | |
SdfPath | Populate (UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL) override |
Called to populate the RenderIndex for this UsdPrim. | |
bool | ShouldCullChildren () const override |
bool | IsSupported (UsdImagingIndexProxy const *index) const override |
Returns true if the adapter can be populated into the target index. | |
bool | CanPopulateUsdInstance () const override |
Parallel Setup and Resolve | |
USDIMAGING_API void | TrackVariability (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const override |
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=NULL) const override |
Populates the cache for the given prim , time and requestedBits . | |
Change Processing | |
USDIMAGING_API HdDirtyBits | ProcessPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &property) override |
Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized. | |
USDIMAGING_API void | ProcessPrimResync (SdfPath const &cachePath, UsdImagingIndexProxy *index) override |
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. | |
USDIMAGING_API void | ProcessPrimRemoval (SdfPath const &cachePath, UsdImagingIndexProxy *index) override |
Removes all associated Rprims and dependencies from the render index without scheduling them for repopulation. | |
USDIMAGING_API void | MarkDirty (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits dirty, UsdImagingIndexProxy *index) override |
USDIMAGING_API void | MarkTransformDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override |
USDIMAGING_API void | MarkVisibilityDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override |
USDIMAGING_API void | MarkMaterialDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override |
![]() | |
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 | 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 | 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. | |
USDIMAGING_API bool | IsChildPath (SdfPath const &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 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. | |
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 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 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. | |
virtual USDIMAGING_API bool | ShouldIgnoreNativeInstanceSubtrees () const |
virtual USDIMAGING_API bool | IsInstancerAdapter () const |
Data access | |
USDIMAGING_API VtValue | Get (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &key, UsdTimeCode time, VtIntArray *outIndices) const override |
Gets the value of the parameter named key for the given prim (which has the given cache path) and given time. | |
USDIMAGING_API HdCullStyle | GetCullStyle (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override |
Gets the cullstyle of a specific path in the scene graph. | |
USDIMAGING_API VtValue | GetTopology (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override |
Gets the topology object of a specific Usd prim. | |
USDIMAGING_API GfRange3d | GetExtent (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override |
Reads the extent from the given prim. | |
USDIMAGING_API bool | GetDoubleSided (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override |
Reads double-sided from the given prim. If not authored, returns false. | |
USDIMAGING_API GfMatrix4d | GetTransform (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, bool ignoreRootTransform=false) const override |
Fetches the transform for the given prim at the given time from a pre-computed cache of prim transforms. | |
USDIMAGING_API SdfPath | GetMaterialId (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override |
USDIMAGING_API VtValue | GetMaterialResource (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override |
USDIMAGING_API void | _RemovePrim (SdfPath const &cachePath, UsdImagingIndexProxy *index) override |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
using | Keys = UsdImagingPrimvarDescCache::Key |
![]() | |
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_NonlinearSampleCountCache * | _GetNonlinearSampleCountCache () const |
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 USDIMAGING_API bool | _HasPrimvarsPrefix (TfToken const &propertyName) |
Delegate support for the drawMode attribute on UsdGeomModelAPI.
Definition at line 38 of file drawModeAdapter.h.
using BaseAdapter = UsdImagingPrimAdapter |
Definition at line 41 of file drawModeAdapter.h.
|
overrideprotectedvirtual |
Implements UsdImagingPrimAdapter.
|
overridevirtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Gets the value of the parameter named key for the given prim (which has the given cache path) and given time.
If outIndices is not nullptr and the value has indices, it will return the unflattened value and set outIndices to the value's associated indices.
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Gets the cullstyle of a specific path in the scene graph.
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Reads double-sided from the given prim. If not authored, returns false.
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
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 from UsdImagingPrimAdapter.
|
overridevirtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Gets the topology object of a specific Usd prim.
If the adapter is a mesh it will return an HdMeshTopology, if it is of type basis curves, it will return an HdBasisCurvesTopology. If the adapter does not have a topology, it returns an empty VtValue.
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
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 from UsdImagingPrimAdapter.
|
overridevirtual |
Returns true if the adapter can be populated into the target index.
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Implements UsdImagingPrimAdapter.
|
overridevirtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
Called to populate the RenderIndex for this UsdPrim.
The adapter is expected to create one or more Rprims in the render index using the given proxy.
Implements UsdImagingPrimAdapter.
|
overridevirtual |
Removes all associated Rprims and dependencies from the render index without scheduling them for repopulation.
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
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 from UsdImagingPrimAdapter.
|
overridevirtual |
Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized.
Implements UsdImagingPrimAdapter.
|
overridevirtual |
Reimplemented from UsdImagingPrimAdapter.
|
overridevirtual |
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.
|
overridevirtual |
Populates the cache
for the given prim
, time
and requestedBits
.
This method is expected to be called from multiple threads.
Implements UsdImagingPrimAdapter.