HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
coordSysAdapter.h
Go to the documentation of this file.
1 //
2 // Copyright 2019 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_COORD_SYS_ADAPTER_H
8 #define PXR_USD_IMAGING_USD_IMAGING_COORD_SYS_ADAPTER_H
9 
10 /// \file usdImaging/coordSysAdapter.h
11 
12 #include "pxr/pxr.h"
15 
17 
18 
19 class UsdPrim;
20 
21 /// \class UsdImagingCoordSysAdapter
22 ///
24 public:
26 
29  {}
30 
33 
35  virtual SdfPath Populate(UsdPrim const& prim,
37  UsdImagingInstancerContext const* instancerContext = NULL);
38 
40  virtual bool IsSupported(UsdImagingIndexProxy const* index) const;
41 
42  // ---------------------------------------------------------------------- //
43  /// \name Parallel Setup and Resolve
44  // ---------------------------------------------------------------------- //
45 
46  /// Thread Safe.
48  virtual void TrackVariability(UsdPrim const& prim,
49  SdfPath const& cachePath,
50  HdDirtyBits* timeVaryingBits,
52  instancerContext = NULL) const;
53 
55  virtual void ProcessPrimResync(SdfPath const& primPath,
57 
58  /// Thread Safe.
60  virtual void UpdateForTime(UsdPrim const& prim,
61  SdfPath const& cachePath,
63  HdDirtyBits requestedBits,
65  instancerContext = NULL) const;
66 
67  // ---------------------------------------------------------------------- //
68  /// \name Change Processing
69  // ---------------------------------------------------------------------- //
70 
71  /// Returns a bit mask of attributes to be udpated, or
72  /// HdChangeTracker::AllDirty if the entire prim must be resynchronized.
74  virtual HdDirtyBits ProcessPropertyChange(UsdPrim const& prim,
75  SdfPath const& cachePath,
76  TfToken const& propertyName);
77 
79  virtual void MarkDirty(UsdPrim const& prim,
80  SdfPath const& cachePath,
81  HdDirtyBits dirty,
83 
85  virtual void MarkTransformDirty(UsdPrim const& prim,
86  SdfPath const& cachePath,
88 
89 protected:
91  virtual void _RemovePrim(SdfPath const& cachePath,
93 
94 private:
95  static const TfTokenVector &_GetCameraProjectionProperties();
96 };
97 
98 
100 
101 #endif // PXR_USD_IMAGING_USD_IMAGING_COORD_SYS_ADAPTER_H
virtual USDIMAGING_API bool IsSupported(UsdImagingIndexProxy const *index) const
Returns true if the adapter can be populated into the target index.
#define USDIMAGING_API
Definition: api.h:23
GT_API const UT_StringHolder time
uint32_t HdDirtyBits
Definition: types.h:143
virtual USDIMAGING_API void UpdateForTime(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time, HdDirtyBits requestedBits, UsdImagingInstancerContext const *instancerContext=NULL) const
Thread Safe.
virtual USDIMAGING_API void ProcessPrimResync(SdfPath const &primPath, UsdImagingIndexProxy *index)
Thread Safe.
virtual USDIMAGING_API void MarkDirty(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits dirty, UsdImagingIndexProxy *index)
virtual USDIMAGING_API void MarkTransformDirty(UsdPrim const &prim, SdfPath const &cachePath, UsdImagingIndexProxy *index)
Definition: token.h:70
Definition: prim.h:116
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:440
Definition: path.h:273
virtual USDIMAGING_API HdDirtyBits ProcessPropertyChange(UsdPrim const &prim, SdfPath const &cachePath, TfToken const &propertyName)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
UsdImagingPrimAdapter BaseAdapter
GLuint index
Definition: glcorearb.h:786
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
virtual USDIMAGING_API void TrackVariability(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=NULL) const
Thread Safe.
virtual USDIMAGING_API void _RemovePrim(SdfPath const &cachePath, UsdImagingIndexProxy *index)
virtual USDIMAGING_API ~UsdImagingCoordSysAdapter()
virtual USDIMAGING_API SdfPath Populate(UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=NULL)