HDK
|
#include <gprimAdapter.h>
Public Types | |
using | BaseAdapter = UsdImagingPrimAdapter |
Public Types inherited from UsdImagingPrimAdapter | |
enum | PopulationMode { RepresentsSelf, RepresentsSelfAndDescendents, RepresentedByAncestor } |
Public Member Functions | |
UsdImagingGprimAdapter () | |
USDIMAGING_API | ~UsdImagingGprimAdapter () override |
Scene Index Support | |
USDIMAGING_API HdDataSourceLocatorSet | InvalidateImagingSubprim (UsdPrim const &prim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType) override |
Parallel Setup and Resolve | |
USDIMAGING_API void | TrackVariability (UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override |
Thread Safe. More... | |
USDIMAGING_API void | UpdateForTime (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=nullptr) 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 |
virtual USDIMAGING_API void | MarkCollectionsDirty (UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index) override |
Public Member Functions inherited from UsdImagingPrimAdapter | |
UsdImagingPrimAdapter () | |
virtual USDIMAGING_API | ~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 | 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 | 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. More... | |
virtual USDIMAGING_API GfMatrix4d | GetInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time) const |
virtual USDIMAGING_API size_t | SampleInstancerTransform (UsdPrim const &instancerPrim, SdfPath const &instancerPath, UsdTimeCode time, size_t maxNumSamples, float *sampleTimes, GfMatrix4d *sampleValues) |
virtual USDIMAGING_API SdfPath | GetInstancerId (UsdPrim const &usdPrim, SdfPath const &cachePath) const |
Return the instancerId for this prim. More... | |
virtual USDIMAGING_API SdfPathVector | GetInstancerPrototypes (UsdPrim const &usdPrim, SdfPath const &cachePath) const |
Return the list of known prototypes of this prim. More... | |
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) |
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 SdfPathVector | GetScenePrimPaths (SdfPath const &cachePath, std::vector< int > const &instanceIndices, std::vector< HdInstancerContext > *instancerCtxs) const |
virtual USDIMAGING_API SdfPath | GetDataSharingId (SdfPath const &cachePath) 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. 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... | |
virtual USDIMAGING_API bool | GetVisible (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const |
virtual USDIMAGING_API TfToken | GetPurpose (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &instanceInheritablePurpose) const |
USDIMAGING_API TfToken | GetInheritablePurpose (UsdPrim const &prim) const |
virtual USDIMAGING_API GfMatrix4d | GetTransform (UsdPrim const &prim, SdfPath const &cachePath, 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... | |
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. More... | |
USDIMAGING_API SdfPath | GetMaterialUsdPath (UsdPrim const &prim) const |
USDIMAGING_API TfToken | GetModelDrawMode (UsdPrim const &prim) |
USDIMAGING_API HdModelDrawMode | GetFullModelDrawMode (UsdPrim const &prim) |
USDIMAGING_API VtArray < VtIntArray > | GetPerPrototypeIndices (UsdPrim const &prim, UsdTimeCode time) const |
virtual USDIMAGING_API VtValue | GetTopology (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const |
virtual USDIMAGING_API VtValue | GetMaterialResource (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const |
The root transform provided by the delegate. More... | |
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. More... | |
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 PopulationMode | GetPopulationMode () |
virtual USDIMAGING_API HdDataSourceLocatorSet | InvalidateImagingSubprimFromDescendent (UsdPrim const &prim, UsdPrim const &descendentPrim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType) |
virtual SdfPath | Populate (UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=nullptr)=0 |
virtual USDIMAGING_API bool | ShouldCullChildren () const |
virtual USDIMAGING_API bool | ShouldIgnoreNativeInstanceSubtrees () const |
virtual USDIMAGING_API bool | IsInstancerAdapter () const |
virtual USDIMAGING_API bool | CanPopulateUsdInstance () const |
Utility methods | |
virtual USDIMAGING_API VtValue | GetPoints (UsdPrim const &prim, UsdTimeCode time) const |
USDIMAGING_API SdfPath | _AddRprim (TfToken const &primType, UsdPrim const &usdPrim, UsdImagingIndexProxy *index, SdfPath const &materialUsdPath, UsdImagingInstancerContext const *instancerContext) |
USDIMAGING_API GfRange3d | GetExtent (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override |
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. More... | |
USDIMAGING_API SdfPath | GetMaterialId (UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override |
USDIMAGING_API VtValue | Get (UsdPrim const &prim, SdfPath const &cachePath, TfToken const &key, UsdTimeCode time, VtIntArray *outIndices) const override |
static USDIMAGING_API bool | GetColor (UsdPrim const &prim, UsdTimeCode time, TfToken *interpolation, VtValue *color, VtIntArray *indices) |
static USDIMAGING_API bool | GetOpacity (UsdPrim const &prim, UsdTimeCode time, TfToken *interpolation, VtValue *opacity, VtIntArray *indices) |
static USDIMAGING_API SdfPath | _ResolveCachePath (SdfPath const &usdPath, UsdImagingInstancerContext const *instancerContext) |
static USDIMAGING_API GfMatrix4d | GetImplicitBasis (TfToken const &spineAxis) |
virtual USDIMAGING_API void | _RemovePrim (SdfPath const &cachePath, UsdImagingIndexProxy *index) override |
virtual USDIMAGING_API bool | _IsBuiltinPrimvar (TfToken const &primvarName) const |
virtual USDIMAGING_API TfTokenVector | _CollectMaterialPrimvars (SdfPathVector const &materialUsdPaths, UsdTimeCode time) const |
virtual USDIMAGING_API TfTokenVector const & | _GetRprimPrimvarNames () const |
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.
Definition at line 51 of file gprimAdapter.h.
|
inline |
Definition at line 53 of file gprimAdapter.h.
|
override |
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.
|
protectedvirtual |
Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.
|
protectedvirtual |
Returns the primvar names known to be supported for the rprims this adapter produces. These primvar names are excepted from primvar filtering.
Reimplemented in UsdImagingBasisCurvesAdapter.
|
protectedvirtual |
Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.
Reimplemented in UsdImagingMeshAdapter, UsdImagingBasisCurvesAdapter, UsdImagingNurbsCurvesAdapter, UsdImagingPointsAdapter, and UsdImagingHermiteCurvesAdapter.
|
overrideprotectedvirtual |
Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.
Implements UsdImagingPrimAdapter.
|
static |
Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.
|
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.
Reimplemented in UsdImagingMeshAdapter, UsdImagingNurbsCurvesAdapter, and UsdImagingPointsAdapter.
|
static |
Returns color, Usd interpolation token, and optionally color indices for a given prim, taking into account surface shader colors and explicitly authored color on the prim. If indices is not nullptr and the color value has indices, color will be set to the unflattened color value and indices set to the color value's indices.
|
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.
|
static |
Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.
|
overridevirtual |
Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.
Reimplemented from UsdImagingPrimAdapter.
|
static |
Returns opacity, Usd interpolation token, and optionally opacity indices for a given prim, taking into account surface shader opacity and explicitly authored opacity on the prim. If indices is not nullptr and the opacity value has indices, opacity will be set to the unflattened opacity value and indices set to the opacity value's indices.
|
virtual |
Give derived classes an opportunity to override how we get points for a prim. This is useful for implicit primitives.
Reimplemented in UsdImagingSphereAdapter, UsdImagingCapsuleAdapter, UsdImagingCylinderAdapter, UsdImagingConeAdapter, UsdImagingCubeAdapter, UsdImagingNurbsPatchAdapter, and UsdImagingPlaneAdapter.
|
overridevirtual |
Returns the prim's behavior with regard to population and invalidation. See PopulationMode for possible values.
Reimplemented from UsdImagingPrimAdapter.
Reimplemented in UsdImagingSphereAdapter, UsdImagingMeshAdapter, UsdImagingNurbsCurvesAdapter, UsdImagingPointsAdapter, UsdImagingNurbsPatchAdapter, and UsdImagingVolumeAdapter.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
overridevirtual |
Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must be resynchronized.
Implements UsdImagingPrimAdapter.
Reimplemented in UsdImagingMeshAdapter, UsdImagingBasisCurvesAdapter, UsdImagingPointsAdapter, UsdImagingNurbsCurvesAdapter, UsdImagingNurbsPatchAdapter, UsdImagingSphereAdapter, UsdImagingCapsuleAdapter, UsdImagingCylinderAdapter, UsdImagingConeAdapter, UsdImagingCubeAdapter, UsdImagingHermiteCurvesAdapter, and UsdImagingPlaneAdapter.
|
overridevirtual |
Thread Safe.
Implements UsdImagingPrimAdapter.
Reimplemented in UsdImagingSphereAdapter, UsdImagingMeshAdapter, UsdImagingNurbsCurvesAdapter, UsdImagingPointsAdapter, UsdImagingNurbsPatchAdapter, UsdImagingVolumeAdapter, UsdImagingPlaneAdapter, UsdImagingTetMeshAdapter, and UsdImagingHermiteCurvesAdapter.
|
overridevirtual |
Thread Safe.
Implements UsdImagingPrimAdapter.
Reimplemented in UsdImagingMeshAdapter, UsdImagingNurbsCurvesAdapter, UsdImagingPointsAdapter, and UsdImagingVolumeAdapter.