24 #ifndef PXR_USD_IMAGING_USD_IMAGING_GPRIM_ADAPTER_H
25 #define PXR_USD_IMAGING_USD_IMAGING_GPRIM_ADAPTER_H
30 #include "pxr/usdImaging/usdImaging/api.h"
33 #include "pxr/usd/usdGeom/xformCache.h"
35 PXR_NAMESPACE_OPEN_SCOPE
68 HdDirtyBits* timeVaryingBits,
70 instancerContext =
nullptr)
const override;
77 HdDirtyBits requestedBits,
79 instancerContext =
nullptr)
const override;
88 TfToken const& property)
override;
91 virtual void MarkDirty(
UsdPrim const& prim,
97 virtual void MarkRefineLevelDirty(
UsdPrim const& prim,
102 virtual void MarkReprDirty(
UsdPrim const& prim,
107 virtual void MarkCullStyleDirty(
UsdPrim const& prim,
112 virtual void MarkRenderTagDirty(
UsdPrim const& prim,
117 virtual void MarkTransformDirty(
UsdPrim const& prim,
122 virtual void MarkVisibilityDirty(
UsdPrim const& prim,
127 virtual void MarkMaterialDirty(
UsdPrim const& prim,
150 VtIntArray *indices);
162 VtIntArray *indices);
170 SdfPath const& materialUsdPath,
205 VtIntArray *outIndices)
const override;
210 virtual void _RemovePrim(
SdfPath const& cachePath,
216 virtual bool _IsBuiltinPrimvar(
TfToken const& primvarName)
const;
221 TfToken const& primvarName)
const;
226 PXR_NAMESPACE_CLOSE_SCOPE
228 #endif //PXR_USD_IMAGING_USD_IMAGING_GPRIM_ADAPTER_H
Basic type: 3-dimensional floating point range.
USDIMAGING_API void TrackVariability(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override
Thread Safe.
This proxy class exposes a subset of the private Delegate API to PrimAdapters.
Delegate support for UsdGeomGrims.
virtual USDIMAGING_API VtValue GetPoints(UsdPrim const &prim, UsdTimeCode time) const
Give derived classes an opportunity to override how we get points for a prim.
Token for efficient comparison, assignment, and hashing of known strings.
USDIMAGING_API void UpdateForTime(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override
Thread Safe.
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
Base class for all PrimAdapters.
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.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
static USDIMAGING_API bool GetOpacity(UsdPrim const &prim, UsdTimeCode time, TfToken *interpolation, VtValue *opacity, VtIntArray *indices)
Returns opacity, Usd interpolation token, and optionally opacity indices for a given prim...
A path value used to locate objects in layers or scenegraphs.
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 giv...
static USDIMAGING_API bool GetColor(UsdPrim const &prim, UsdTimeCode time, TfToken *interpolation, VtValue *color, VtIntArray *indices)
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.
Base class for all geometric primitives.
USDIMAGING_API GfRange3d GetExtent(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override
Reads the extent from the given prim.
Object used by instancer prim adapters to pass along context about the instancer and instance prim to...
Schema wrapper for UsdAttribute for authoring and introspecting attributes that are primvars...
virtual 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 ...
Provides a container which may hold any type, and provides introspection and iteration over array typ...