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

#include <pointInstancerAdapter.h>

+ Inheritance diagram for UsdImagingPointInstancerAdapter:

Public Types

typedef UsdImagingPrimAdapter BaseAdapter
 

Public Member Functions

 UsdImagingPointInstancerAdapter ()
 
virtual ~UsdImagingPointInstancerAdapter ()
 
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 size_t SampleInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time, size_t maxNumSamples, 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 &instancerPath, SdfPath const &protoInstancerPath, 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
std::vector< VtArray< TfToken > > 
GetInstanceCategories (UsdPrim const &prim)
 Return an array of the categories used by each instance. More...
 
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 UsdGeomPointInstancer

Definition at line 41 of file pointInstancerAdapter.h.

Member Typedef Documentation

Constructor & Destructor Documentation

UsdImagingPointInstancerAdapter::UsdImagingPointInstancerAdapter ( )
inline

Definition at line 45 of file pointInstancerAdapter.h.

virtual UsdImagingPointInstancerAdapter::~UsdImagingPointInstancerAdapter ( )
virtual

Member Function Documentation

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

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

Implements UsdImagingPrimAdapter.

virtual GfMatrix4d UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::GetScenePrimPath ( SdfPath const cachePath,
int  instanceIndex,
HdInstancerContext instancerContext 
) const
overridevirtual

Reimplemented from UsdImagingPrimAdapter.

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

Get the subdiv tags for this prim.

Reimplemented from UsdImagingPrimAdapter.

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

Reimplemented from UsdImagingPrimAdapter.

virtual bool UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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 UsdImagingPointInstancerAdapter::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: