HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
siteUtils.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_USD_SDF_SITE_UTILS_H
8 #define PXR_USD_SDF_SITE_UTILS_H
9 
10 /// \file sdf/siteUtils.h
11 ///
12 /// Convenience API for working with SdfSite.
13 ///
14 /// These functions simply forward to the indicated functions on SdfLayer.
15 
16 #include "pxr/pxr.h"
17 #include "pxr/usd/sdf/site.h"
18 #include "pxr/usd/sdf/layer.h"
19 #include "pxr/usd/sdf/primSpec.h"
21 #include "pxr/usd/sdf/spec.h"
22 
24 
25 inline
26 SdfSpecHandle
28 {
29  return site.layer->GetObjectAtPath(site.path);
30 }
31 
32 inline
33 SdfPrimSpecHandle
35 {
36  return site.layer->GetPrimAtPath(site.path);
37 }
38 
39 inline
40 SdfPropertySpecHandle
42 {
43  return site.layer->GetPropertyAtPath(site.path);
44 }
45 
46 inline
47 bool
48 SdfHasField(const SdfSite& site, const TfToken& field)
49 {
50  return site.layer->HasField(site.path, field);
51 }
52 
53 template <class T>
54 inline bool
55 SdfHasField(const SdfSite& site, const TfToken& field, T* value)
56 {
57  return site.layer->HasField(site.path, field, value);
58 }
59 
60 inline
61 const VtValue
62 SdfGetField(const SdfSite& site, const TfToken& field)
63 {
64  return site.layer->GetField(site.path, field);
65 }
66 
67 template <class T>
68 inline
69 T
70 SdfGetFieldAs(const SdfSite& site, const TfToken& field,
71  const T& defaultValue = T())
72 {
73  return site.layer->GetFieldAs<T>(site.path, field, defaultValue);
74 }
75 
77 
78 #endif // PXR_USD_SDF_SITE_UTILS_H
const VtValue SdfGetField(const SdfSite &site, const TfToken &field)
Definition: siteUtils.h:62
GLsizei const GLfloat * value
Definition: glcorearb.h:824
SdfPath path
Definition: site.h:76
PXR_NAMESPACE_OPEN_SCOPE SdfSpecHandle SdfGetObjectAtPath(const SdfSite &site)
Definition: siteUtils.h:27
Definition: site.h:25
Definition: token.h:70
SdfPropertySpecHandle SdfGetPropertyAtPath(const SdfSite &site)
Definition: siteUtils.h:41
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
T SdfGetFieldAs(const SdfSite &site, const TfToken &field, const T &defaultValue=T())
Definition: siteUtils.h:70
SdfLayerHandle layer
Definition: site.h:75
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
SdfPrimSpecHandle SdfGetPrimAtPath(const SdfSite &site)
Definition: siteUtils.h:34
Definition: value.h:146
bool SdfHasField(const SdfSite &site, const TfToken &field)
Definition: siteUtils.h:48