shape_core/elements/ellipses/
mod.rs1use super::*;
2
3mod circle;
4mod circle3d;
5mod convert;
6mod ellipse;
7
8#[cfg_attr(feature = "serde", repr(C), derive(Serialize, Deserialize))]
10#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
11pub struct Circle<T> {
12 pub center: Point<T>,
14 pub radius: T,
16}
17
18#[cfg_attr(feature = "serde", repr(C), derive(Serialize, Deserialize))]
20#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
21pub struct Circle3D<T> {
22 pub center: Point3D<T>,
24 pub radius: T,
25 pub rotate: (T, T, T),
26}
27
28#[cfg_attr(feature = "serde", repr(C), derive(Serialize, Deserialize))]
30#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
31pub struct Ellipse<T> {
32 pub center: Point<T>,
34 pub radius: (T, T),
36 pub rotate: T,
38}
39
40#[cfg_attr(feature = "serde", repr(C), derive(Serialize, Deserialize))]
42#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
43pub struct Ellipse3D<T> {
44 pub center: Point3D<T>,
46 pub radius: (T, T),
48 pub rotate: (T, T, T),
50}
51
52#[cfg_attr(feature = "serde", repr(C), derive(Serialize, Deserialize))]
54#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
55pub struct Ball<T> {
56 pub center: Point3D<T>,
58 pub radius: T,
60}
61
62#[cfg_attr(feature = "serde", repr(C), derive(Serialize, Deserialize))]
63#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
64pub struct Ellipsoid<T> {
65 pub center: Point3D<T>,
67 pub radius: (T, T, T),
69 pub rotate: (T, T, T),
71}