HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
volumeAdapter.h
Go to the documentation of this file.
1 //
2 // Copyright 2018 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_USD_IMAGING_USD_IMAGING_VOLUME_ADAPTER_H
8 #define PXR_USD_IMAGING_USD_IMAGING_VOLUME_ADAPTER_H
9 
10 /// \file usdImaging/volumeAdapter.h
11 
12 #include "pxr/pxr.h"
13 #include "pxr/usd/usdVol/volume.h"
17 
19 
20 /// \class UsdImagingVolumeAdapter
21 ///
22 /// Delegate support for UsdVolVolume.
23 ///
25 public:
27 
30  {}
31  virtual ~UsdImagingVolumeAdapter();
32 
33  // ---------------------------------------------------------------------- //
34  /// \name Scene Index Support
35  // ---------------------------------------------------------------------- //
36 
38  TfTokenVector GetImagingSubprims(UsdPrim const& prim) override;
39 
42  UsdPrim const& prim,
43  TfToken const& subprim) override;
44 
46  HdContainerDataSourceHandle GetImagingSubprimData(
47  UsdPrim const& prim,
48  TfToken const& subprim,
49  const UsdImagingDataSourceStageGlobals &stageGlobals) override;
50 
53  UsdPrim const& prim,
54  TfToken const& subprim,
55  TfTokenVector const& properties,
56  UsdImagingPropertyInvalidationType invalidationType) override;
57 
58  // ---------------------------------------------------------------------- //
59  /// \name Initialization
60  // ---------------------------------------------------------------------- //
61 
63  virtual SdfPath Populate(UsdPrim const& prim,
66  instancerContext = NULL) override;
67 
69  virtual bool IsSupported(UsdImagingIndexProxy const* index) const override;
70 
71  // ---------------------------------------------------------------------- //
72  /// \name Parallel Setup and Resolve
73  // ---------------------------------------------------------------------- //
74  /// Thread Safe.
76  virtual void TrackVariability(UsdPrim const& prim,
77  SdfPath const& cachePath,
78  HdDirtyBits* timeVaryingBits,
80  instancerContext = NULL) const override;
81 
82  /// Thread Safe.
84  virtual void UpdateForTime(UsdPrim const& prim,
85  SdfPath const& cachePath,
87  HdDirtyBits requestedBits,
89  instancerContext = NULL) const override;
90 
93  GetVolumeFieldDescriptors(UsdPrim const& usdPrim, SdfPath const &id,
94  UsdTimeCode time) const override;
95 
96 private:
97  bool _GatherVolumeData(UsdPrim const& prim,
98  UsdVolVolume::FieldMap *fieldMap) const;
99 };
100 
102 
103 #endif // PXR_USD_IMAGING_USD_IMAGING_VOLUME_ADAPTER_H
#define USDIMAGING_API
Definition: api.h:23
GT_API const UT_StringHolder time
USDIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprim(UsdPrim const &prim, TfToken const &subprim, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType) override
UsdImagingGprimAdapter BaseAdapter
Definition: volumeAdapter.h:26
uint32_t HdDirtyBits
Definition: types.h:143
virtual USDIMAGING_API void TrackVariability(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
Thread Safe.
virtual USDIMAGING_API SdfPath Populate(UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL) override
virtual USDIMAGING_API void UpdateForTime(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=NULL) const override
Thread Safe.
Definition: token.h:70
virtual ~UsdImagingVolumeAdapter()
Definition: prim.h:116
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:440
Definition: path.h:273
USDIMAGING_API TfToken GetImagingSubprimType(UsdPrim const &prim, TfToken const &subprim) override
std::vector< HdVolumeFieldDescriptor > HdVolumeFieldDescriptorVector
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
GLuint index
Definition: glcorearb.h:786
USDIMAGING_API HdContainerDataSourceHandle GetImagingSubprimData(UsdPrim const &prim, TfToken const &subprim, const UsdImagingDataSourceStageGlobals &stageGlobals) override
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
std::map< TfToken, SdfPath > FieldMap
Definition: volume.h:167
virtual USDIMAGING_API HdVolumeFieldDescriptorVector GetVolumeFieldDescriptors(UsdPrim const &usdPrim, SdfPath const &id, UsdTimeCode time) const override
Thread Safe.
virtual USDIMAGING_API bool IsSupported(UsdImagingIndexProxy const *index) const override
Returns true if the adapter can be populated into the target index.
UsdImagingPropertyInvalidationType
Definition: types.h:17
USDIMAGING_API TfTokenVector GetImagingSubprims(UsdPrim const &prim) override