HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rprimSharedData.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 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_RPRIM_SHARED_DATA_H
8 #define PXR_IMAGING_HD_RPRIM_SHARED_DATA_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hd/api.h"
12 #include "pxr/imaging/hd/version.h"
14 #include "pxr/imaging/hd/tokens.h"
15 
16 #include "pxr/usd/sdf/path.h"
17 
18 #include "pxr/base/gf/bbox3d.h"
19 #include "pxr/base/vt/array.h"
20 #include "pxr/base/vt/types.h"
21 
23 
25  std::vector<std::pair<VtIntArray, std::vector<TfToken>>>;
26 
27 // HdRprimSharedData is an assortment of data being shared across HdReprs,
28 // owned by HdRprim. HdDrawItem holds a const pointer to HdRprimSharedData.
29 //
30 // HdRprim
31 // |
32 // +--HdRepr(s)
33 // | |
34 // | +--HdDrawItem(s)-----.
35 // | |
36 // +--HdRprimSharedData <---'
37 //
38 
40  HdRprimSharedData(int barContainerSize)
41  : barContainer(barContainerSize)
42  , bounds()
43  , instancerLevels(0)
44  , visible(true)
45  , rprimID()
46  { }
47 
48  HdRprimSharedData(int barContainerSize,
49  bool visible)
50  : barContainer(barContainerSize)
51  , bounds()
52  , instancerLevels(0)
53  , visible(visible)
54  , rprimID()
55  { }
56 
57  // BufferArrayRange array
59 
60  // Used for CPU frustum culling.
62 
63  // The number of levels of instancing applied to this rprim.
65 
66  // Used for authored/delegate visibility.
67  bool visible;
68 
69  // The owning Rprim's identifier.
71 
72  // Data structure containing the face-varying topologies of an rprim (mesh
73  // only) and each of the topology's associated face-varying primvar names.
74  // Used in drawing to determine which primvar uses which face-varying
75  // channel.
77 };
78 
79 
81 
82 #endif // PXR_IMAGING_HD_RPRIM_SHARED_DATA_H
HdBufferArrayRangeContainer barContainer
HdRprimSharedData(int barContainerSize, bool visible)
TopologyToPrimvarVector fvarTopologyToPrimvarVector
Definition: path.h:273
HdRprimSharedData(int barContainerSize)
std::vector< std::pair< VtIntArray, std::vector< TfToken >>> TopologyToPrimvarVector
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74