HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UsdImagingInstanceAdapter Class Reference

#include <instanceAdapter.h>

+ Inheritance diagram for UsdImagingInstanceAdapter:

Public Types

typedef UsdImagingPrimAdapter BaseAdapter
 

Public Member Functions

 UsdImagingInstanceAdapter ()
 
virtual ~UsdImagingInstanceAdapter ()
 
virtual SdfPath Populate (UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL) override
 
virtual bool ShouldCullChildren () const override
 
virtual bool IsInstancerAdapter () const override
 
Parallel Setup and Resolve
virtual void TrackVariability (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
 
virtual void UpdateForTime (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
 
Change Processing
virtual HdDirtyBits ProcessPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName) override
 
virtual void ProcessPrimResync (SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual void ProcessPrimRemoval (SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual void MarkDirty (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits dirty, UsdImagingIndexProxy *index) override
 
virtual void MarkRefineLevelDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual void MarkReprDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual void MarkCullStyleDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual void MarkRenderTagDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual void MarkTransformDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual void MarkVisibilityDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
Instancing
virtual std::vector< VtArray
< TfToken > > 
GetInstanceCategories (UsdPrim const &prim) override
 Return an array of the categories used by each instance. More...
 
virtual size_t SampleInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time, size_t maxSampleCount, float *sampleTimes, GfMatrix4d *sampleValues) override
 
virtual size_t SampleTransform (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, GfMatrix4d *sampleValues) override
 Samples the transform for the given prim. More...
 
virtual size_t SamplePrimvar (UsdPrim const &usdPrim, SdfPath const &cachePath, TfToken const &key, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, VtValue *sampleValues) override
 
virtual PxOsdSubdivTags GetSubdivTags (UsdPrim const &usdPrim, SdfPath const &cachePath, UsdTimeCode time) const override
 Get the subdiv tags for this prim. More...
 
Nested instancing support
virtual GfMatrix4d GetRelativeInstancerTransform (SdfPath const &parentInstancerPath, SdfPath const &instancerPath, UsdTimeCode time) const override
 
Picking & selection
virtual SdfPath GetScenePrimPath (SdfPath const &cachePath, int instanceIndex, HdInstancerContext *instancerContext) const override
 
virtual bool PopulateSelection (HdSelection::HighlightMode const &highlightMode, SdfPath const &cachePath, UsdPrim const &usdPrim, int const hydraInstanceIndex, VtIntArray const &parentInstanceIndices, HdSelectionSharedPtr const &result) const override
 
- Public Member Functions inherited from UsdImagingPrimAdapter
virtual USDIMAGING_API HdDirtyBits ProcessPrimChange (UsdPrim const &prim, SdfPath const &cachePath, TfTokenVector const &changedFields)
 
virtual USDIMAGING_API void MarkMaterialDirty (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 InvokeComputation (SdfPath const &computationPath, HdExtComputationContext *context)
 
virtual USDIMAGING_API
HdTextureResource::ID 
GetTextureResourceID (UsdPrim const &usdPrim, SdfPath const &id, UsdTimeCode time, size_t salt) const
 
virtual USDIMAGING_API
HdTextureResourceSharedPtr 
GetTextureResource (UsdPrim const &usdPrim, SdfPath const &id, UsdTimeCode time) const
 
USDIMAGING_API GfMatrix4d GetRootTransform () const
 The root transform provided by the delegate. More...
 
USDIMAGING_API void SetDelegate (UsdImagingDelegate *delegate)
 A thread-local XformCache provided by the delegate. More...
 
USDIMAGING_API bool IsChildPath (SdfPath const &path) const
 The root transform provided by the delegate. More...
 
USDIMAGING_API bool GetVisible (UsdPrim const &prim, UsdTimeCode time) const
 
USDIMAGING_API TfToken GetPurpose (UsdPrim const &prim, UsdImagingInstancerContext const *instancerContext) const
 
USDIMAGING_API TfToken GetInheritablePurpose (UsdPrim const &prim) const
 
USDIMAGING_API GfMatrix4d GetTransform (UsdPrim const &prim, UsdTimeCode time, bool ignoreRootTransform=false) const
 
USDIMAGING_API SdfPath GetMaterialUsdPath (UsdPrim const &prim) const
 
USDIMAGING_API TfToken GetModelDrawMode (UsdPrim const &prim)
 
USDIMAGING_API VtArray
< VtIntArray > 
GetPerPrototypeIndices (UsdPrim const &prim, UsdTimeCode time) const
 
virtual bool IsSupported (UsdImagingIndexProxy const *index) const
 Returns true if the adapter can be populated into the target index. More...
 
 UsdImagingPrimAdapter ()
 
virtual USDIMAGING_API ~UsdImagingPrimAdapter ()
 
virtual USDIMAGING_API bool CanPopulateMaster () const
 

Volume field information

virtual
HdVolumeFieldDescriptorVector 
GetVolumeFieldDescriptors (UsdPrim const &usdPrim, SdfPath const &id, UsdTimeCode time) const override
 
virtual void _RemovePrim (SdfPath const &cachePath, UsdImagingIndexProxy *index) overridefinal
 Returns true if the adapter can be populated into the target index. More...
 

Detailed Description

Delegate support for instanced prims.

Definition at line 43 of file instanceAdapter.h.

Member Typedef Documentation

Constructor & Destructor Documentation

UsdImagingInstanceAdapter::UsdImagingInstanceAdapter ( )
virtual UsdImagingInstanceAdapter::~UsdImagingInstanceAdapter ( )
virtual

Member Function Documentation

virtual void UsdImagingInstanceAdapter::_RemovePrim ( SdfPath const cachePath,
UsdImagingIndexProxy index 
)
finaloverrideprotectedvirtual

Returns true if the adapter can be populated into the target index.

Implements UsdImagingPrimAdapter.

virtual std::vector<VtArray<TfToken> > UsdImagingInstanceAdapter::GetInstanceCategories ( UsdPrim const prim)
overridevirtual

Return an array of the categories used by each instance.

Reimplemented from UsdImagingPrimAdapter.

virtual GfMatrix4d UsdImagingInstanceAdapter::GetRelativeInstancerTransform ( SdfPath const instancerPath,
SdfPath const protoInstancerPath,
UsdTimeCode  time 
) const
overridevirtual

Returns the transform of protoInstancerPath relative to instancerPath. instancerPath must be managed by this adapter.

Reimplemented from UsdImagingPrimAdapter.

virtual SdfPath UsdImagingInstanceAdapter::GetScenePrimPath ( SdfPath const cachePath,
int  instanceIndex,
HdInstancerContext instancerContext 
) const
overridevirtual

Reimplemented from UsdImagingPrimAdapter.

virtual PxOsdSubdivTags UsdImagingInstanceAdapter::GetSubdivTags ( UsdPrim const usdPrim,
SdfPath const cachePath,
UsdTimeCode  time 
) const
overridevirtual

Get the subdiv tags for this prim.

Reimplemented from UsdImagingPrimAdapter.

virtual HdVolumeFieldDescriptorVector UsdImagingInstanceAdapter::GetVolumeFieldDescriptors ( UsdPrim const usdPrim,
SdfPath const id,
UsdTimeCode  time 
) const
overridevirtual

Reimplemented from UsdImagingPrimAdapter.

virtual bool UsdImagingInstanceAdapter::IsInstancerAdapter ( ) const
overridevirtual

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.

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::MarkCullStyleDirty ( UsdPrim const prim,
SdfPath const cachePath,
UsdImagingIndexProxy index 
)
overridevirtual

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.

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::MarkDirty ( UsdPrim const prim,
SdfPath const cachePath,
HdDirtyBits  dirty,
UsdImagingIndexProxy index 
)
overridevirtual

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.

Implements UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::MarkRefineLevelDirty ( UsdPrim const prim,
SdfPath const cachePath,
UsdImagingIndexProxy index 
)
overridevirtual

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.

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::MarkRenderTagDirty ( UsdPrim const prim,
SdfPath const cachePath,
UsdImagingIndexProxy index 
)
overridevirtual

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.

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::MarkReprDirty ( UsdPrim const prim,
SdfPath const cachePath,
UsdImagingIndexProxy index 
)
overridevirtual

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.

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::MarkTransformDirty ( UsdPrim const prim,
SdfPath const cachePath,
UsdImagingIndexProxy index 
)
overridevirtual

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.

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::MarkVisibilityDirty ( UsdPrim const prim,
SdfPath const cachePath,
UsdImagingIndexProxy index 
)
overridevirtual

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.

Reimplemented from UsdImagingPrimAdapter.

virtual SdfPath UsdImagingInstanceAdapter::Populate ( UsdPrim const prim,
UsdImagingIndexProxy index,
UsdImagingInstancerContext const instancerContext = NULL 
)
overridevirtual

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.

virtual bool UsdImagingInstanceAdapter::PopulateSelection ( HdSelection::HighlightMode const highlightMode,
SdfPath const cachePath,
UsdPrim const usdPrim,
int const  hydraInstanceIndex,
VtIntArray const parentInstanceIndices,
HdSelectionSharedPtr const result 
) const
overridevirtual

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::ProcessPrimRemoval ( SdfPath const cachePath,
UsdImagingIndexProxy index 
)
overridevirtual

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

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::ProcessPrimResync ( SdfPath const cachePath,
UsdImagingIndexProxy index 
)
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.

virtual HdDirtyBits UsdImagingInstanceAdapter::ProcessPropertyChange ( UsdPrim const prim,
SdfPath const cachePath,
TfToken const propertyName 
)
overridevirtual

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

Implements UsdImagingPrimAdapter.

virtual size_t UsdImagingInstanceAdapter::SampleInstancerTransform ( UsdPrim const instancerPrim,
SdfPath const instancerPath,
UsdTimeCode  time,
size_t  maxNumSamples,
float *  sampleTimes,
GfMatrix4d sampleValues 
)
overridevirtual

Sample the instancer transform for the given prim.

See Also
HdSceneDelegate::SampleInstancerTransform()

Reimplemented from UsdImagingPrimAdapter.

virtual size_t UsdImagingInstanceAdapter::SamplePrimvar ( UsdPrim const usdPrim,
SdfPath const cachePath,
TfToken const key,
UsdTimeCode  time,
size_t  maxNumSamples,
float *  sampleTimes,
VtValue sampleValues 
)
overridevirtual

Sample the primvar for the given prim.

See Also
HdSceneDelegate::SamplePrimvar()

Reimplemented from UsdImagingPrimAdapter.

virtual size_t UsdImagingInstanceAdapter::SampleTransform ( UsdPrim const prim,
SdfPath const cachePath,
UsdTimeCode  time,
size_t  maxNumSamples,
float *  sampleTimes,
GfMatrix4d sampleValues 
)
overridevirtual

Samples the transform for the given prim.

Reimplemented from UsdImagingPrimAdapter.

virtual bool UsdImagingInstanceAdapter::ShouldCullChildren ( ) const
overridevirtual

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.

Reimplemented from UsdImagingPrimAdapter.

virtual void UsdImagingInstanceAdapter::TrackVariability ( UsdPrim const prim,
SdfPath const cachePath,
HdDirtyBits timeVaryingBits,
UsdImagingInstancerContext const instancerContext = NULL 
) const
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.

virtual void UsdImagingInstanceAdapter::UpdateForTime ( UsdPrim const prim,
SdfPath const cachePath,
UsdTimeCode  time,
HdDirtyBits  requestedBits,
UsdImagingInstancerContext const instancerContext = NULL 
) const
overridevirtual

Populates the cache for the given prim, time and requestedBits.

This method is expected to be called from multiple threads.

Implements UsdImagingPrimAdapter.


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