Skip to main content

cad_cs/libs/cs/helper/
d2.rs

1// 📃 ./src/libs/cs/helper/d2.rs
2
3use crate::libs::{
4	angle::AngleFmt,
5	cs::{
6		abstracts::{AbstractHelperCs2, AbstractMathCs2},
7		model::Cs,
8	},
9};
10// ===================================================================================
11// TRAIT DLA 2D
12// ===================================================================================
13
14impl AbstractHelperCs2 for Cs<2> {
15	#[rustfmt::skip] #[inline]
16	fn print_q(&self, name: &str) {
17	let s = self.q_sign();
18	println!(" {}    (Ćwiartka: {} [{}, {}])", name, self.q(), s[0], s[1]);
19	}
20
21	#[rustfmt::skip] #[inline]
22	fn print_xy(&self, name: &str) {
23		println!(" {} 🔷 (x: {:?}, y: {:?})", name, self.0[0], self.0[1]);
24	}
25
26	#[rustfmt::skip] #[inline]
27	fn print_rf(&self, name: &str, fmt: AngleFmt) {
28		let rf = self.to_rf_from_xy();
29		println!(" {} 🟪 (R: {:?}, Φ: {})", name, rf[0], fmt.format(rf[1]));
30	}
31
32	#[rustfmt::skip] #[inline]
33	fn print(&self, name: &str, fmt: AngleFmt) {
34		let spacer = " ".repeat(name.chars().count());
35		self.print_xy(name);
36		self.print_q(&spacer);
37		self.print_rf(&spacer, fmt);
38		println!(" ");
39	}
40}