HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
field.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_IMAGING_HD_FIELD_H
8 #define PXR_IMAGING_HD_FIELD_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hd/api.h"
12 #include "pxr/imaging/hd/version.h"
13 #include "pxr/imaging/hd/bprim.h"
14 
15 #include <vector>
16 
18 
19 #define HD_FIELD_TOKENS \
20  (filePath) \
21  (fieldName)
22 
24 
25 class HdSceneDelegate;
26 using HdFieldPtrConstVector = std::vector<class HdField const *>;
27 
28 /// \class HdField
29 ///
30 /// Hydra schema for a USD field primitive. Acts like a texture, combined
31 /// with other fields to make up a renderable volume.
32 ///
33 class HdField : public HdBprim
34 {
35 public:
36  HD_API
37  HdField(SdfPath const & id);
38  HD_API
39  ~HdField() override;
40 
41  // Change tracking for HdField
43  Clean = 0,
44  DirtyTransform = 1 << 0,
45  DirtyParams = 1 << 1,
47  |DirtyParams)
48  };
49 };
50 
52 
53 #endif // PXR_IMAGING_HD_FIELD_H
HD_API HdField(SdfPath const &id)
uint32_t HdDirtyBits
Definition: types.h:143
HD_API ~HdField() override
#define HD_API
Definition: api.h:23
TF_DECLARE_PUBLIC_TOKENS(HdFieldTokens, HD_API, HD_FIELD_TOKENS)
std::vector< class HdField const * > HdFieldPtrConstVector
Definition: field.h:26
Definition: field.h:33
#define HD_FIELD_TOKENS
Definition: field.h:19
Definition: path.h:273
DirtyBits
Definition: field.h:42
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
Definition: bprim.h:39