Loading...
Searching...
No Matches
pxrVolumeFilterPluginBaseAdapter.h
1//
2// Copyright 2026 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_USD_RI_PXR_IMAGING_PXR_VOLUME_FILTER_PLUGIN_BASE_ADAPTER_H
8#define EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_USD_RI_PXR_IMAGING_PXR_VOLUME_FILTER_PLUGIN_BASE_ADAPTER_H
9
11
12#include "usdRiPxrImaging/api.h"
13
14#include "pxr/usdImaging/usdImaging/api.h"
16
17#include "pxr/pxr.h"
18
19PXR_NAMESPACE_OPEN_SCOPE
20
21class UsdPrim;
22
28public:
30
33 {}
34
35 USDRIPXRIMAGING_API
37
38 USDRIPXRIMAGING_API
42 instancerContext = NULL) override;
43
44 USDRIPXRIMAGING_API
45 bool IsSupported(UsdImagingIndexProxy const* index) const override;
46
47 // ---------------------------------------------------------------------- //
49 // ---------------------------------------------------------------------- //
50
52 USDRIPXRIMAGING_API
53 void TrackVariability(UsdPrim const& prim,
54 SdfPath const& cachePath,
55 HdDirtyBits* timeVaryingBits,
57 instancerContext = NULL) const override;
58
60 USDRIPXRIMAGING_API
61 void UpdateForTime(UsdPrim const& prim,
62 SdfPath const& cachePath,
63 UsdTimeCode time,
64 HdDirtyBits requestedBits,
66 instancerContext = NULL) const override;
67
68 // ---------------------------------------------------------------------- //
70 // ---------------------------------------------------------------------- //
71
74 USDRIPXRIMAGING_API
75 HdDirtyBits ProcessPropertyChange(UsdPrim const& prim,
76 SdfPath const& cachePath,
77 TfToken const& propertyName) override;
78
79 USDRIPXRIMAGING_API
80 void MarkDirty(UsdPrim const& prim,
81 SdfPath const& cachePath,
82 HdDirtyBits dirty,
83 UsdImagingIndexProxy* index) override;
84
85 USDRIPXRIMAGING_API
86 void MarkTransformDirty(UsdPrim const& prim,
87 SdfPath const& cachePath,
88 UsdImagingIndexProxy* index) override;
89
90 USDRIPXRIMAGING_API
91 void MarkVisibilityDirty(UsdPrim const& prim,
92 SdfPath const& cachePath,
93 UsdImagingIndexProxy* index) override;
94
95 // ---------------------------------------------------------------------- //
97 // ---------------------------------------------------------------------- //
98
99 USDRIPXRIMAGING_API
100 VtValue GetMaterialResource(UsdPrim const &prim,
101 SdfPath const& cachePath,
102 UsdTimeCode time) const override;
103
104 // ---------------------------------------------------------------------- //
106 // ---------------------------------------------------------------------- //
107
108 USDRIPXRIMAGING_API
109 TfTokenVector GetImagingSubprims(UsdPrim const& prim) override;
110
111 USDRIPXRIMAGING_API
112 TfToken GetImagingSubprimType(
113 UsdPrim const& prim, TfToken const& subprim) override;
114
115 USDRIPXRIMAGING_API
116 HdContainerDataSourceHandle GetImagingSubprimData(
117 UsdPrim const& prim,
118 TfToken const& subprim,
119 const UsdImagingDataSourceStageGlobals &stageGlobals) override;
120
121 USDRIPXRIMAGING_API
122 HdDataSourceLocatorSet InvalidateImagingSubprim(
123 UsdPrim const& prim,
124 TfToken const& subprim,
125 TfTokenVector const& properties,
126 UsdImagingPropertyInvalidationType invalidationType) override;
127
128 USDRIPXRIMAGING_API
130
131 USDRIPXRIMAGING_API
133 UsdPrim const& prim,
134 UsdPrim const& descendentPrim,
135 TfToken const& subprim,
136 TfTokenVector const& properties,
137 UsdImagingPropertyInvalidationType invalidationType) override;
138
139protected:
140 USDRIPXRIMAGING_API
141 void _RemovePrim(SdfPath const& cachePath,
142 UsdImagingIndexProxy* index) override;
143
144};
145
146PXR_NAMESPACE_CLOSE_SCOPE
147
148#endif // EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_USD_RI_PXR_IMAGING_PXR_VOLUME_FILTER_PLUGIN_BASE_ADAPTER_H
Represents a set of data source locators closed under descendancy.
A path value used to locate objects in layers or scenegraphs.
Definition path.h:281
Token for efficient comparison, assignment, and hashing of known strings.
Definition token.h:71
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.
Definition indexProxy.h:30
Base class for all PrimAdapters.
Definition primAdapter.h:54
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition prim.h:117
Adapter class for volume filters (PxrVolumeFilterPluginBase prims).
USDRIPXRIMAGING_API bool IsSupported(UsdImagingIndexProxy const *index) const override
Returns true if the adapter can be populated into the target index.
USDRIPXRIMAGING_API SdfPath Populate(UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL) override
Called to populate the RenderIndex for this UsdPrim.
USDRIPXRIMAGING_API HdDirtyBits ProcessPropertyChange(UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName) override
Returns a bit mask of attributes to be updated, or HdChangeTracker::AllDirty if the entire prim must ...
USDRIPXRIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprimFromDescendent(UsdPrim const &prim, UsdPrim const &descendentPrim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType) override
This is called (for each result of GetImagingSubprims) when this adapter's GetScope() result is Repre...
USDRIPXRIMAGING_API void TrackVariability(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
Thread Safe.
USDRIPXRIMAGING_API void UpdateForTime(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
Thread Safe.
USDRIPXRIMAGING_API PopulationMode GetPopulationMode() override
Returns the prim's behavior with regard to population and invalidation.
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
Definition timeCode.h:72
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition value.h:90
Object used by instancer prim adapters to pass along context about the instancer and instance prim to...
std::vector< TfToken > TfTokenVector
Convenience types.
Definition token.h:440