1 /*
2 * defvelaccel.cc
3 * DIN Is Noise is copyright (c) 2006-2021 Jagannathan Sampath
4 * DIN Is Noise is released under GNU Public License 2.0
5 * For more information, please visit https://dinisnoise.org/
6 */
7
8 #include "defvelaccel.h"
9
defvelaccel(const std::string & n)10 defvelaccel::defvelaccel (const std::string& n) : name (n) {
11 dir = VERTICAL;
12 neg = 0;
13 rndrot = 0;
14 clock = anticlock = 0.0f;
15 sync = 1;
16 }
17
setrotrd()18 void defvelaccel::setrotrd () {
19 rotrd.set (-clock.rad, anticlock.rad);
20 }
21
operator >>(std::istream & f,defvelaccel & dva)22 std::istream& operator>> (std::istream& f, defvelaccel& dva) {
23 f >> dva.mag >> dva.dir >> dva.neg >> dva.rndrot >> dva.clock >> dva.anticlock >> dva.sync;
24 f >> dva.autos.rot.yes >> dva.autos.rot.dir >> dva.autos.rot.mov >> dva.autos.rot.rpm >> dva.autos.rot.dps >> dva.autos.rot.tps;
25 f >> dva.autos.flip.yes >> dva.autos.flip.deg;
26 dva.rotrd.set (-dva.clock.rad, dva.anticlock.rad);
27 return f;
28 }
29
30 extern const char spc;
31
operator <<(std::ostream & f,defvelaccel & dva)32 std::ostream& operator<< (std::ostream& f, defvelaccel& dva) {
33 f << dva.mag << spc << dva.dir << spc << dva.neg << spc << dva.rndrot << spc << dva.clock << spc << dva.anticlock << spc << dva.sync << spc;
34 f << dva.autos.rot.yes << spc << dva.autos.rot.dir << spc << dva.autos.rot.mov << spc << dva.autos.rot.rpm << spc << dva.autos.rot.dps << spc << dva.autos.rot.tps << spc;
35 f << dva.autos.flip.yes << spc << dva.autos.flip.deg;
36 return f;
37 }
38
operator >>(std::istream & f,valt & mag)39 std::istream& operator>> (std::istream& f, valt& mag) {
40 f >> mag.val >> mag.rndrd >> mag.rd;
41 return f;
42 }
43
operator <<(std::ostream & f,valt & mag)44 std::ostream& operator<< (std::ostream& f, valt& mag) {
45 f << mag.val << spc << mag.rndrd << spc << mag.rd;
46 return f;
47 }
48