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

#include <gprimAdapter.h>

+ Inheritance diagram for UsdImagingGprimAdapter:

Public Types

typedef UsdImagingPrimAdapter BaseAdapter
 

Public Member Functions

 UsdImagingGprimAdapter ()
 
virtual USDIMAGING_API ~UsdImagingGprimAdapter ()
 
Parallel Setup and Resolve
virtual USDIMAGING_API void TrackVariability (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
 Thread Safe. More...
 
virtual USDIMAGING_API void UpdateForTime (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
 Thread Safe. More...
 
Change Processing
virtual USDIMAGING_API HdDirtyBits ProcessPropertyChange (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &property) override
 
virtual USDIMAGING_API void MarkDirty (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits dirty, UsdImagingIndexProxy *index) override
 
virtual USDIMAGING_API void MarkRefineLevelDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual USDIMAGING_API void MarkReprDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual USDIMAGING_API void MarkCullStyleDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual USDIMAGING_API void MarkRenderTagDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual USDIMAGING_API void MarkTransformDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual USDIMAGING_API void MarkVisibilityDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual USDIMAGING_API void MarkMaterialDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) 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 ProcessPrimResync (SdfPath const &cachePath, UsdImagingIndexProxy *index)
 
virtual USDIMAGING_API void ProcessPrimRemoval (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 size_t SampleInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, GfMatrix4d *sampleValues)
 
virtual USDIMAGING_API size_t SamplePrimvar (UsdPrim const &usdPrim, SdfPath const &cachePath, TfToken const &key, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, VtValue *sampleValues)
 
virtual USDIMAGING_API
PxOsdSubdivTags 
GetSubdivTags (UsdPrim const &usdPrim, SdfPath const &cachePath, UsdTimeCode time) const
 Get the subdiv tags for this prim. More...
 
virtual USDIMAGING_API GfMatrix4d GetRelativeInstancerTransform (SdfPath const &instancerPath, SdfPath const &protoInstancerPath, UsdTimeCode time) const
 
virtual USDIMAGING_API SdfPath GetScenePrimPath (SdfPath const &cachePath, int instanceIndex, HdInstancerContext *instancerCtx) 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
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
 
virtual USDIMAGING_API
HdVolumeFieldDescriptorVector 
GetVolumeFieldDescriptors (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
 
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. More...
 
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 SdfPath Populate (UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL)=0
 
virtual USDIMAGING_API bool ShouldCullChildren () const
 
virtual USDIMAGING_API bool IsInstancerAdapter () const
 
virtual USDIMAGING_API bool CanPopulateMaster () const
 

Utility methods

virtual USDIMAGING_API VtValue GetPoints (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const
 
USDIMAGING_API SdfPath _AddRprim (TfToken const &primType, UsdPrim const &usdPrim, UsdImagingIndexProxy *index, SdfPath const &materialUsdPath, UsdImagingInstancerContext const *instancerContext)
 
static USDIMAGING_API bool GetColor (UsdPrim const &prim, UsdTimeCode time, TfToken *interpolation, VtValue *color)
 
static USDIMAGING_API bool GetOpacity (UsdPrim const &prim, UsdTimeCode time, TfToken *interpolation, VtValue *opacity)
 
static USDIMAGING_API SdfPath _ResolveCachePath (SdfPath const &usdPath, UsdImagingInstancerContext const *instancerContext)
 
virtual USDIMAGING_API void _RemovePrim (SdfPath const &cachePath, UsdImagingIndexProxy *index) override
 
virtual USDIMAGING_API bool _IsBuiltinPrimvar (TfToken const &primvarName) const
 
USDIMAGING_API UsdGeomPrimvar _GetInheritedPrimvar (UsdPrim const &prim, TfToken const &primvarName) const
 

Detailed Description

Delegate support for UsdGeomGrims.

This adapter is provided as a base class for all adapters that want basic Gprim data support, such as visibility, doubleSided, extent, displayColor, displayOpacity, purpose, and transform.

Definition at line 48 of file gprimAdapter.h.

Member Typedef Documentation

Constructor & Destructor Documentation

UsdImagingGprimAdapter::UsdImagingGprimAdapter ( )
inline

Definition at line 52 of file gprimAdapter.h.

virtual USDIMAGING_API UsdImagingGprimAdapter::~UsdImagingGprimAdapter ( )
virtual

Member Function Documentation

USDIMAGING_API SdfPath UsdImagingGprimAdapter::_AddRprim ( TfToken const primType,
UsdPrim const usdPrim,
UsdImagingIndexProxy index,
SdfPath const materialUsdPath,
UsdImagingInstancerContext const instancerContext 
)

Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.

USDIMAGING_API UsdGeomPrimvar UsdImagingGprimAdapter::_GetInheritedPrimvar ( UsdPrim const prim,
TfToken const primvarName 
) const
protected

Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.

virtual USDIMAGING_API bool UsdImagingGprimAdapter::_IsBuiltinPrimvar ( TfToken const primvarName) const
protectedvirtual

Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.

Reimplemented in UsdImagingMeshAdapter, UsdImagingHermiteCurvesAdapter, UsdImagingBasisCurvesAdapter, UsdImagingPointsAdapter, and UsdImagingNurbsCurvesAdapter.

virtual USDIMAGING_API void UsdImagingGprimAdapter::_RemovePrim ( SdfPath const cachePath,
UsdImagingIndexProxy index 
)
overrideprotectedvirtual

Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.

Implements UsdImagingPrimAdapter.

static USDIMAGING_API SdfPath UsdImagingGprimAdapter::_ResolveCachePath ( SdfPath const usdPath,
UsdImagingInstancerContext const instancerContext 
)
static

Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.

static USDIMAGING_API bool UsdImagingGprimAdapter::GetColor ( UsdPrim const prim,
UsdTimeCode  time,
TfToken interpolation,
VtValue color 
)
static

Returns color and Usd interpolation token for a given prim, taking into account surface shader colors and explicitly authored color on the prim.

static USDIMAGING_API bool UsdImagingGprimAdapter::GetOpacity ( UsdPrim const prim,
UsdTimeCode  time,
TfToken interpolation,
VtValue opacity 
)
static

Returns opacity and Usd interpolation token for a given prim, taking into account surface shader opacity and explicitly authored opacity on the prim.

virtual USDIMAGING_API VtValue UsdImagingGprimAdapter::GetPoints ( UsdPrim const prim,
SdfPath const cachePath,
UsdTimeCode  time 
) const
virtual

Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.

Reimplemented in UsdImagingCubeAdapter, UsdImagingSphereAdapter, UsdImagingCapsuleAdapter, UsdImagingConeAdapter, UsdImagingCylinderAdapter, and UsdImagingNurbsPatchAdapter.

virtual USDIMAGING_API void UsdImagingGprimAdapter::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 USDIMAGING_API void UsdImagingGprimAdapter::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 USDIMAGING_API void UsdImagingGprimAdapter::MarkMaterialDirty ( 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 USDIMAGING_API void UsdImagingGprimAdapter::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 USDIMAGING_API void UsdImagingGprimAdapter::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 USDIMAGING_API void UsdImagingGprimAdapter::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 USDIMAGING_API void UsdImagingGprimAdapter::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 USDIMAGING_API void UsdImagingGprimAdapter::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 USDIMAGING_API HdDirtyBits UsdImagingGprimAdapter::ProcessPropertyChange ( UsdPrim const prim,
SdfPath const cachePath,
TfToken const propertyName 
)
overridevirtual

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