7 #ifndef PXR_USD_IMAGING_USD_IMAGING_LIGHT_ADAPTER_H 8 #define PXR_USD_IMAGING_USD_IMAGING_LIGHT_ADAPTER_H 13 #include "pxr/usd/sdf/path.h" 14 #include "pxr/usdImaging/usdImaging/api.h" 15 #include "pxr/usdImaging/usdImaging/instanceablePrimAdapter.h" 17 PXR_NAMESPACE_OPEN_SCOPE
31 static bool IsEnabledSceneLights();
38 HdContainerDataSourceHandle GetImagingSubprimData(
48 UsdImagingPropertyInvalidationType invalidationType)
override;
70 HdDirtyBits* timeVaryingBits,
72 instancerContext = NULL)
const override;
80 HdDirtyBits requestedBits,
82 instancerContext = NULL)
const override;
93 TfToken const& propertyName)
override;
96 void MarkDirty(
UsdPrim const& prim,
102 void MarkTransformDirty(
UsdPrim const& prim,
107 void MarkVisibilityDirty(
UsdPrim const& prim,
112 void MarkLightParamsDirty(
UsdPrim const& prim,
117 void MarkCollectionsDirty(
UsdPrim const& prim,
149 void _RemovePrim(
SdfPath const& cachePath,
153 void _UnregisterLightCollections(
SdfPath const& cachePath);
156 void _RegisterLightCollections(
UsdPrim const& prim);
161 bool _UpdateCollectionsChanged(
UsdPrim const& prim)
const;
164 PXR_NAMESPACE_CLOSE_SCOPE
166 #endif // PXR_USD_IMAGING_USD_IMAGING_LIGHT_ADAPTER_H An abstract adapter class for prims that are instanceable.
Base class for all lights.
This proxy class exposes a subset of the private Delegate API to PrimAdapters.
Token for efficient comparison, assignment, and hashing of known strings.
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
This class is used as a context object with global stage information, that gets passed down to dataso...
Base class for all PrimAdapters.
USDIMAGING_API SdfPath Populate(UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL) override
Called to populate the RenderIndex for this UsdPrim.
Represents a set of data source locators closed under descendancy.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
USDIMAGING_API void TrackVariability(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
Thread Safe.
std::vector< TfToken > TfTokenVector
Convenience types.
A path value used to locate objects in layers or scenegraphs.
USDIMAGING_API HdDirtyBits ProcessPropertyChange(UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName) override
Returns a bit mask of attributes to be udpated, or HdChangeTracker::AllDirty if the entire prim must ...
Object used by instancer prim adapters to pass along context about the instancer and instance prim to...
Provides a container which may hold any type, and provides introspection and iteration over array typ...
USDIMAGING_API void UpdateForTime(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
Thread Safe.
USDIMAGING_API bool IsSupported(UsdImagingIndexProxy const *index) const override
Returns true if the adapter can be populated into the target index.