1#![allow(non_camel_case_types)]
2#![allow(dead_code)]
3
4use hydrate_data::*;
5use hydrate_pipeline::{DataContainer, DataContainerRef, DataContainerRefMut, DataSetResult};
6use std::cell::RefCell;
7use std::rc::Rc;
8
9include!("schema_codegen.rs");
10
11impl Vec3Accessor {
12 pub fn set_vec3(
13 &self,
14 data_container: &mut DataContainerRefMut,
15 value: [f32; 3],
16 ) -> DataSetResult<()> {
17 self.x().set(data_container, value[0])?;
18 self.y().set(data_container, value[1])?;
19 self.z().set(data_container, value[2])?;
20 Ok(())
21 }
22
23 pub fn get_vec3(
24 &self,
25 data_container: DataContainerRef,
26 ) -> DataSetResult<[f32; 3]> {
27 let x = self.x().get(data_container.clone())?;
28 let y = self.y().get(data_container.clone())?;
29 let z = self.z().get(data_container.clone())?;
30 Ok([x, y, z])
31 }
32}
33
34impl Vec4Accessor {
35 pub fn set_vec4(
36 &self,
37 data_container: &mut DataContainerRefMut,
38 value: [f32; 4],
39 ) -> DataSetResult<()> {
40 self.x().set(data_container, value[0])?;
41 self.y().set(data_container, value[1])?;
42 self.z().set(data_container, value[2])?;
43 self.w().set(data_container, value[3])?;
44 Ok(())
45 }
46
47 pub fn get_vec4(
48 &self,
49 data_container: DataContainerRef,
50 ) -> DataSetResult<[f32; 4]> {
51 let x = self.x().get(data_container.clone())?;
52 let y = self.y().get(data_container.clone())?;
53 let z = self.z().get(data_container.clone())?;
54 let w = self.w().get(data_container.clone())?;
55 Ok([x, y, z, w])
56 }
57}
58
59impl<'a> Vec3Ref<'a> {
60 pub fn get_vec3(&self) -> DataSetResult<[f32; 3]> {
61 let x = self.x().get()?;
62 let y = self.y().get()?;
63 let z = self.z().get()?;
64 Ok([x, y, z])
65 }
66}
67
68impl<'a> Vec4Ref<'a> {
69 pub fn get_vec4(&self) -> DataSetResult<[f32; 4]> {
70 let x = self.x().get()?;
71 let y = self.y().get()?;
72 let z = self.z().get()?;
73 let w = self.w().get()?;
74 Ok([x, y, z, w])
75 }
76}
77
78impl Vec3Record {
79 pub fn set_vec3(
80 &self,
81 value: [f32; 3],
82 ) -> DataSetResult<()> {
83 self.x().set(value[0])?;
84 self.y().set(value[1])?;
85 self.z().set(value[2])?;
86 Ok(())
87 }
88
89 pub fn get_vec3(&self) -> DataSetResult<[f32; 3]> {
90 let x = self.x().get()?;
91 let y = self.y().get()?;
92 let z = self.z().get()?;
93 Ok([x, y, z])
94 }
95}
96
97impl Vec4Record {
98 pub fn set_vec4(
99 &self,
100 value: [f32; 4],
101 ) -> DataSetResult<()> {
102 self.x().set(value[0])?;
103 self.y().set(value[1])?;
104 self.z().set(value[2])?;
105 self.w().set(value[3])?;
106 Ok(())
107 }
108
109 pub fn get_vec4(&self) -> DataSetResult<[f32; 4]> {
110 let x = self.x().get()?;
111 let y = self.y().get()?;
112 let z = self.z().get()?;
113 let w = self.w().get()?;
114 Ok([x, y, z, w])
115 }
116}