hermiteCurvesAdapter.h
Go to the documentation of this file.
1 //
2 // Copyright 2020 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_HERMITE_CURVES_ADAPTER_H
8 #define PXR_USD_IMAGING_USD_IMAGING_HERMITE_CURVES_ADAPTER_H
9 
11 
12 #include "pxr/pxr.h"
13 #include "pxr/usdImaging/usdImaging/api.h"
16 
17 PXR_NAMESPACE_OPEN_SCOPE
18 
19 
29 public:
31 
34  {}
35  USDIMAGING_API
37 
38  USDIMAGING_API
40  UsdPrim const& prim,
41  UsdImagingIndexProxy* index,
42  UsdImagingInstancerContext const* instancerContext = nullptr) override;
43 
44  USDIMAGING_API
45  bool IsSupported(UsdImagingIndexProxy const* index) const override;
46 
47  // ---------------------------------------------------------------------- //
49  // ---------------------------------------------------------------------- //
50 
52  USDIMAGING_API
53  void TrackVariability(
54  UsdPrim const& prim,
55  SdfPath const& cachePath,
56  HdDirtyBits* timeVaryingBits,
57  UsdImagingInstancerContext const* instancerContext = nullptr)
58  const override;
59 
60  // ---------------------------------------------------------------------- //
62  // ---------------------------------------------------------------------- //
63 
64  USDIMAGING_API
65  HdDirtyBits ProcessPropertyChange(UsdPrim const& prim,
66  SdfPath const& cachePath,
67  TfToken const& propertyName) override;
68 
69  // ---------------------------------------------------------------------- //
71  // ---------------------------------------------------------------------- //
72 
73  USDIMAGING_API
74  VtValue GetTopology(UsdPrim const& prim,
75  SdfPath const& cachePath,
76  UsdTimeCode time) const override;
77 
78 protected:
79  USDIMAGING_API
80  bool _IsBuiltinPrimvar(TfToken const& primvarName) const override;
81 };
82 
83 
84 PXR_NAMESPACE_CLOSE_SCOPE
85 
86 #endif // PXR_USD_IMAGING_USD_IMAGING_HERMITE_CURVES_ADAPTER_H
An abstract adapter class for prims that are instanceable.
USDIMAGING_API VtValue GetTopology(UsdPrim const &prim, SdfPath const &cachePath, UsdTimeCode time) const override
Gets the topology object of a specific Usd prim.
This proxy class exposes a subset of the private Delegate API to PrimAdapters.
Definition: indexProxy.h:30
Delegate support for UsdGeomGrims.
Definition: gprimAdapter.h:31
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:80
USDIMAGING_API bool IsSupported(UsdImagingIndexProxy const *index) const override
Returns true if the adapter can be populated into the target index.
USDIMAGING_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 ...
Delegate support for UsdGeomHermiteCurves.
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
Definition: timeCode.h:73
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:116
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:280
USDIMAGING_API void TrackVariability(UsdPrim const &prim, SdfPath const &cachePath, HdDirtyBits *timeVaryingBits, UsdImagingInstancerContext const *instancerContext=nullptr) const override
Thread Safe.
USDIMAGING_API SdfPath Populate(UsdPrim const &prim, UsdImagingIndexProxy *index, UsdImagingInstancerContext const *instancerContext=nullptr) override
Called to populate the RenderIndex for this UsdPrim.
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...
Definition: value.h:89