Vuo  2.0.0
VuoSceneObjectType.c
Go to the documentation of this file.
1 
10 #include "type.h"
11 #include "VuoSceneObjectType.h"
13 
15 #ifdef VUO_COMPILER
17  "title" : "Scene Object Type",
18  "description" : "Scene object type.",
19  "keywords" : [ ],
20  "version" : "1.0.0",
21  "dependencies" : [
22  "VuoList_VuoSceneObjectType"
23  ]
24  });
25 #endif
26 
39 {
40  const char *valueAsString = "";
41  if (json_object_get_type(js) == json_type_string)
42  valueAsString = json_object_get_string(js);
43 
44  if (strcmp(valueAsString, "any") == 0)
45  return VuoSceneObjectType_Any;
46  else if (strcmp(valueAsString, "group") == 0)
47  return VuoSceneObjectType_Group;
48  else if (strcmp(valueAsString, "mesh") == 0)
49  return VuoSceneObjectType_Mesh;
50  else if (strcmp(valueAsString, "camera") == 0)
51  return VuoSceneObjectType_Camera;
52  else if (strcmp(valueAsString, "light") == 0)
53  return VuoSceneObjectType_Light;
54 
55  return VuoSceneObjectType_Any;
56 }
57 
63 {
64  char *valueAsString = "any";
65 
66  if (value == VuoSceneObjectType_Any)
67  valueAsString = "any";
68  else if (value == VuoSceneObjectType_Group)
69  valueAsString = "group";
70  else if (value == VuoSceneObjectType_Mesh)
71  valueAsString = "mesh";
72  else if (value == VuoSceneObjectType_Camera)
73  valueAsString = "camera";
74  else if (value == VuoSceneObjectType_Light)
75  valueAsString = "light";
76 
77  return json_object_new_string(valueAsString);
78 }
79 
81 {
82  switch(subType)
83  {
84  case VuoSceneObjectSubType_Mesh:
85  case VuoSceneObjectSubType_Text:
86  return VuoSceneObjectType_Mesh;
87 
88  case VuoSceneObjectSubType_PerspectiveCamera:
89  case VuoSceneObjectSubType_StereoCamera:
90  case VuoSceneObjectSubType_OrthographicCamera:
91  case VuoSceneObjectSubType_FisheyeCamera:
92  return VuoSceneObjectType_Camera;
93 
94  case VuoSceneObjectSubType_AmbientLight:
95  case VuoSceneObjectSubType_PointLight:
96  case VuoSceneObjectSubType_Spotlight:
97  return VuoSceneObjectType_Light;
98 
99  // VuoSceneObjectSubType_Empty
100  // VuoSceneObjectSubType_Group
101  default:
102  return VuoSceneObjectType_Group;
103  }
104 }
105 
110 {
112  VuoListAppendValue_VuoSceneObjectType(l, VuoSceneObjectType_Any);
113  VuoListAppendValue_VuoSceneObjectType(l, VuoSceneObjectType_Group);
114  VuoListAppendValue_VuoSceneObjectType(l, VuoSceneObjectType_Mesh);
115  VuoListAppendValue_VuoSceneObjectType(l, VuoSceneObjectType_Camera);
116  VuoListAppendValue_VuoSceneObjectType(l, VuoSceneObjectType_Light);
117 
118  return l;
119 }
120 
126 {
127  char *valueAsString = "Any";
128 
129  if (value == VuoSceneObjectType_Any)
130  valueAsString = "Any";
131  else if (value == VuoSceneObjectType_Group)
132  valueAsString = "Group";
133  else if (value == VuoSceneObjectType_Mesh)
134  valueAsString = "Mesh";
135  else if (value == VuoSceneObjectType_Camera)
136  valueAsString = "Camera";
137  else if (value == VuoSceneObjectType_Light)
138  valueAsString = "Light";
139 
140  return strdup(valueAsString);
141 }