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"
17PXR_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;
164PXR_NAMESPACE_CLOSE_SCOPE
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.
This class is used as a context object with global stage information, that gets passed down to dataso...
This proxy class exposes a subset of the private Delegate API to PrimAdapters.
An abstract adapter class for prims that are instanceable.
Base class for all lights.
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.
USDIMAGING_API SdfPath Populate(UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL) override
Called to populate the RenderIndex for this UsdPrim.
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 ...
USDIMAGING_API void TrackVariability(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
Thread Safe.
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.