47 VuoPoint3d point = {0,0,0};
49 json_type t = json_object_get_type(js);
50 if (t == json_type_string)
52 const char *s = json_object_get_string(js);
54 sscanf(s,
"%20g, %20g, %20g", &x, &y, &z);
55 return (VuoPoint3d){x, y, z};
57 else if (t == json_type_array)
59 int len = json_object_array_length(js);
61 point.x = json_object_get_double(json_object_array_get_idx(js, 0));
63 point.y = json_object_get_double(json_object_array_get_idx(js, 1));
65 point.z = json_object_get_double(json_object_array_get_idx(js, 2));
69 json_object *o = NULL;
71 if (json_object_object_get_ex(js,
"x", &o))
72 point.x = json_object_get_double(o);
73 else if (json_object_object_get_ex(js,
"X", &o))
74 point.x = json_object_get_double(o);
76 if (json_object_object_get_ex(js,
"y", &o))
77 point.y = json_object_get_double(o);
78 else if (json_object_object_get_ex(js,
"Y", &o))
79 point.y = json_object_get_double(o);
81 if (json_object_object_get_ex(js,
"z", &o))
82 point.z = json_object_get_double(o);
83 else if (json_object_object_get_ex(js,
"Z", &o))
84 point.z = json_object_get_double(o);
95 json_object *js = json_object_new_object();
97 json_object *xObject = json_object_new_double(value.x);
98 json_object_object_add(js,
"x", xObject);
100 json_object *yObject = json_object_new_double(value.y);
101 json_object_object_add(js,
"y", yObject);
103 json_object *zObject = json_object_new_double(value.z);
104 json_object_object_add(js,
"z", zObject);