OSSIA
Open Scenario System for Interactive Application
dataspace_base_defs_fwd.hpp
1 #pragma once
2 #include <ossia/detail/config.hpp>
3 
4 #include <ratio>
5 
6 namespace ossia
7 {
8 class value;
9 template <typename Unit>
10 struct strong_value;
11 
12 // 2
13 struct degree_u;
14 struct radian_u;
15 
16 using degree = strong_value<degree_u>;
17 using radian = strong_value<radian_u>;
18 
19 // 9
20 struct argb_u;
21 struct rgba_u;
22 struct rgba8_u;
23 struct rgb_u;
24 struct bgr_u;
25 struct argb8_u;
26 struct hsv_u;
27 struct cmy8_u;
28 struct xyz_u;
29 
30 // unused:
31 struct hsl_u;
32 struct cmyk8_u;
33 struct yxy_u;
34 struct hunter_lab_u;
35 struct cie_lab_u;
36 struct cie_luv_u;
37 
38 using argb = strong_value<argb_u>;
39 using rgba = strong_value<rgba_u>;
40 using rgba8 = strong_value<rgba8_u>;
41 using rgb = strong_value<rgb_u>;
42 using bgr = strong_value<bgr_u>;
43 using argb8 = strong_value<argb8_u>;
44 using hsv = strong_value<hsv_u>;
45 using cmy8 = strong_value<cmy8_u>;
46 
47 using hsl = strong_value<hsl_u>;
48 using cmyk8 = strong_value<cmyk8_u>;
49 using xyz = strong_value<xyz_u>;
50 using yxy = strong_value<yxy_u>;
51 using hunter_lab = strong_value<hunter_lab_u>;
52 using cie_lab = strong_value<cie_lab_u>;
53 using cie_luv = strong_value<cie_luv_u>;
54 
55 template <typename T>
56 struct distance_ratio;
57 
58 // 11
59 using meter_u = distance_ratio<std::ratio<1>>;
60 using kilometer_u = distance_ratio<std::kilo>;
61 using decimeter_u = distance_ratio<std::deci>;
62 using centimeter_u = distance_ratio<std::centi>;
63 using millimeter_u = distance_ratio<std::milli>;
64 using micrometer_u = distance_ratio<std::micro>;
65 using nanometer_u = distance_ratio<std::nano>;
66 using picometer_u = distance_ratio<std::pico>;
67 using inch_u = distance_ratio<std::ratio<254, 10000>>;
68 using foot_u = distance_ratio<std::ratio<254 * 12, 10000>>;
69 using mile_u = distance_ratio<std::ratio<254 * 12 * 5280, 10000>>;
70 
71 using meter = strong_value<meter_u>;
72 using kilometer = strong_value<kilometer_u>;
73 using decimeter = strong_value<decimeter_u>;
74 using centimeter = strong_value<centimeter_u>;
75 using millimeter = strong_value<millimeter_u>;
76 using micrometer = strong_value<micrometer_u>;
77 using nanometer = strong_value<nanometer_u>;
78 using picometer = strong_value<picometer_u>;
79 using inch = strong_value<inch_u>;
80 using foot = strong_value<foot_u>;
81 using mile = strong_value<mile_u>;
82 
83 // 4
84 struct linear_u;
85 struct midigain_u;
86 struct decibel_u;
87 struct decibel_raw_u;
88 
89 using linear = strong_value<linear_u>;
90 using midigain = strong_value<midigain_u>;
91 using decibel = strong_value<decibel_u>;
92 using decibel_raw = strong_value<decibel_raw_u>;
93 
94 // 3
95 struct quaternion_u;
96 struct euler_u;
97 struct axis_u;
98 
99 using quaternion = strong_value<quaternion_u>;
100 using euler = strong_value<euler_u>;
101 using axis = strong_value<axis_u>;
102 
103 // 9
104 struct cartesian_3d_u;
105 struct cartesian_2d_u;
106 struct spherical_u;
107 struct polar_u;
108 struct aed_u;
109 struct ad_u;
110 struct opengl_u;
111 struct cylindrical_u;
112 struct azd_u;
113 
114 using cartesian_3d = strong_value<cartesian_3d_u>;
115 using cartesian_2d = strong_value<cartesian_2d_u>;
116 using spherical = strong_value<spherical_u>;
117 using polar = strong_value<polar_u>;
118 using aed = strong_value<aed_u>;
119 using ad = strong_value<ad_u>;
120 using opengl = strong_value<opengl_u>;
121 using cylindrical = strong_value<cylindrical_u>;
122 using azd = strong_value<azd_u>;
123 
124 template <typename T>
125 struct speed_ratio;
126 
127 // 6
128 using meter_per_second_u = speed_ratio<std::ratio<1>>;
129 using miles_per_hour_u = speed_ratio<std::ratio<254 * 12 * 5280, 3600 * 10000>>;
130 using kilometer_per_hour_u = speed_ratio<std::ratio<1000, 3600>>;
131 using knot_u = speed_ratio<std::ratio<1852, 3600>>;
132 using foot_per_hour_u = speed_ratio<std::ratio<254 * 12, 3600 * 10000>>;
133 using foot_per_second_u = speed_ratio<std::ratio<254 * 12, 10000>>;
134 
135 using meter_per_second = strong_value<meter_per_second_u>;
136 using miles_per_hour = strong_value<miles_per_hour_u>;
137 using kilometer_per_hour = strong_value<kilometer_per_hour_u>;
138 using knot = strong_value<knot_u>;
139 using foot_per_second = strong_value<foot_per_second_u>;
140 using foot_per_hour = strong_value<foot_per_hour_u>;
141 
142 // 9
143 struct second_u;
144 struct bark_u;
145 struct bpm_u;
146 struct cent_u;
147 struct frequency_u;
148 struct mel_u;
149 struct midi_pitch_u;
150 struct millisecond_u;
151 struct playback_speed_u;
152 
153 using second = strong_value<second_u>;
154 using bark = strong_value<bark_u>;
155 using bpm = strong_value<bpm_u>;
156 using cent = strong_value<cent_u>;
157 using frequency = strong_value<frequency_u>;
158 using mel = strong_value<mel_u>;
159 using midi_pitch = strong_value<midi_pitch_u>;
160 using millisecond = strong_value<millisecond_u>;
161 using playback_speed = strong_value<playback_speed_u>;
162 
164 struct angle_u;
165 struct color_u;
166 struct distance_u;
167 struct orientation_u;
168 struct gain_u;
169 struct position_u;
170 struct speed_u;
171 struct timing_u;
172 
173 struct angle;
174 struct color;
175 struct distance;
176 struct orientation;
177 struct gain;
178 struct position;
179 struct speed;
180 struct timing;
181 
182 struct unit_t;
183 struct value_with_unit;
184 
185 template <typename T>
186 struct dataspace_traits : public std::false_type
187 {
188 };
189 }
Definition: git_info.h:7