7#ifndef PXR_USD_IMAGING_USD_IMAGING_GPRIM_ADAPTER_H
8#define PXR_USD_IMAGING_USD_IMAGING_GPRIM_ADAPTER_H
13#include "pxr/usdImaging/usdImaging/api.h"
14#include "pxr/usdImaging/usdImaging/instanceablePrimAdapter.h"
16#include "pxr/usd/usdGeom/xformCache.h"
18PXR_NAMESPACE_OPEN_SCOPE
45 UsdImagingPropertyInvalidationType invalidationType)
override;
54 HdDirtyBits* timeVaryingBits,
56 instancerContext =
nullptr)
const override;
63 HdDirtyBits requestedBits,
65 instancerContext =
nullptr)
const override;
74 TfToken const& property)
override;
77 void MarkDirty(
UsdPrim const& prim,
83 void MarkRefineLevelDirty(
UsdPrim const& prim,
88 void MarkReprDirty(
UsdPrim const& prim,
93 void MarkCullStyleDirty(
UsdPrim const& prim,
98 void MarkRenderTagDirty(
UsdPrim const& prim,
103 void MarkTransformDirty(
UsdPrim const& prim,
108 void MarkVisibilityDirty(
UsdPrim const& prim,
113 void MarkMaterialDirty(
UsdPrim const& prim,
118 void MarkCollectionsDirty(
UsdPrim const& prim,
141 VtIntArray *indices);
153 VtIntArray *indices);
161 SdfPath const& materialUsdPath,
190 VtIntArray *outIndices)
const override;
202 void _RemovePrim(
SdfPath const& cachePath,
208 virtual bool _IsBuiltinPrimvar(
TfToken const& primvarName)
const;
214 SdfPathVector
const& materialUsdPaths,
224PXR_NAMESPACE_CLOSE_SCOPE
Stores a 4x4 matrix of double elements.
Basic type: 3-dimensional floating point range.
Represents a set of data source locators closed under descendancy.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
Base class for all geometric primitives.
Delegate support for UsdGeomGrims.
USDIMAGING_API void UpdateForTime(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override
Thread Safe.
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,...
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,...
USDIMAGING_API GfRange3d GetExtent(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override
Reads the extent from the given prim.
USDIMAGING_API void TrackVariability(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override
Thread Safe.
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 ...
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.
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.
virtual USDIMAGING_API TfTokenVector const & _GetRprimPrimvarNames() const
Returns the primvar names known to be supported for the rprims this adapter produces.
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...
This proxy class exposes a subset of the private Delegate API to PrimAdapters.
An abstract adapter class for prims that are instanceable.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Object used by instancer prim adapters to pass along context about the instancer and instance prim to...
std::vector< TfToken > TfTokenVector
Convenience types.