cad_cs/libs/cs/helper/
d3.rs1use crate::libs::{
4 angle::AngleFmt,
5 cs::{
6 abstracts::{AbstractHelperCs3, AbstractMathCs3},
7 model::Cs,
8 },
9};
10
11impl AbstractHelperCs3 for Cs<3> {
16 #[rustfmt::skip] #[inline]
17 fn print_q(&self, name: &str) {
18 let s = self.q_sign();
19 println!(" {} (Oktant: {} [{}, {}, {}])", name, self.q(), s[0], s[1], s[2]);
20 }
21
22 #[rustfmt::skip] #[inline]
23 fn print_xyz(&self, name: &str) {
24 println!(" {} 🔶 (x: {:?}, y: {:?}, z: {:?})", name, self.0[0], self.0[1], self.0[2]);
25 }
26
27 #[rustfmt::skip] #[inline]
28 fn print_rft(&self, name: &str, fmt: AngleFmt) {
29 let rft = self.to_rft_from_xyz();
30 println!(" {} 🟫 (R: {:?}, Φ: {}, Θ: {})", name, rft[0], fmt.format(rft[1]), fmt.format(rft[2]));
31 }
32
33 #[rustfmt::skip] #[inline]
34 fn print_rfx(&self, name: &str, fmt: AngleFmt) {
35 let rfx = self.to_rfx_from_xyz();
36 println!(" {} 🟧 (R: {:?}, Φ: {}, x: {:?})", name, rfx[0], fmt.format(rfx[1]), rfx[2]);
37 }
38
39 #[rustfmt::skip] #[inline]
40 fn print_rfy(&self, name: &str, fmt: AngleFmt) {
41 let rfy = self.to_rfy_from_xyz();
42 println!(" {} 🟨 (R: {:?}, Φ: {}, y: {:?})", name, rfy[0], fmt.format(rfy[1]), rfy[2]);
43 }
44
45 #[rustfmt::skip] #[inline]
46 fn print_rfz(&self, name: &str, fmt: AngleFmt) {
47 let rfz = self.to_rfz_from_xyz();
48 println!(" {} 🟥 (R: {:?}, Φ: {}, z: {:?})", name, rfz[0], fmt.format(rfz[1]), rfz[2]);
49 }
50
51 #[rustfmt::skip] #[inline]
54 fn print_dms_sn_we(&self, name: &str) {
55 use crate::libs::cs::abstracts::AbstractSignStrExt;
57
58 let dms = self.to_dms_sn_we_from_xyz();
60
61 let lat_dir = dms.sn_lat_d.sign_sn();
63 let lon_dir = dms.we_lon_d.sign_we();
64
65 println!(" {} 🌍 {}°{:02}'{:04.1}\"{} {}°{:02}'{:04.1}\"{}",
69 name,
70 dms.sn_lat_d.abs(), dms.sn_lat_m, dms.sn_lat_s, lat_dir,
71 dms.we_lon_d.abs(), dms.we_lon_m, dms.we_lon_s, lon_dir
72 );
73 }
74
75 #[rustfmt::skip] #[inline]
76 fn print(&self, name: &str, fmt: AngleFmt) {
77 let spacer = " ".repeat(name.chars().count());
78 self.print_xyz(name);
79 self.print_q(&spacer);
80 self.print_rft(&spacer, fmt);
81 self.print_rfz(&spacer, fmt);
82 self.print_rfy(&spacer, fmt);
83 self.print_rfx(&spacer, fmt);
84 self.print_dms_sn_we(&spacer);
85 println!(" ");
86 }
87}