axiolid_surface/
elementary.rs1use axiolid_core::{Frame3, Scalar};
4
5#[derive(Debug, Clone, Copy, PartialEq)]
7#[cfg_attr(
8 feature = "serde",
9 derive(serde::Serialize, serde::Deserialize),
10 serde(deny_unknown_fields)
11)]
12pub struct Plane {
13 pub frame: Frame3,
15}
16
17#[derive(Debug, Clone, Copy, PartialEq)]
19#[cfg_attr(
20 feature = "serde",
21 derive(serde::Serialize, serde::Deserialize),
22 serde(deny_unknown_fields)
23)]
24pub struct Cylinder {
25 pub frame: Frame3,
27 pub radius: Scalar,
29}
30
31#[derive(Debug, Clone, Copy, PartialEq)]
39#[cfg_attr(
40 feature = "serde",
41 derive(serde::Serialize, serde::Deserialize),
42 serde(deny_unknown_fields)
43)]
44pub struct EllipticalCylinder {
45 pub frame: Frame3,
47 pub semi_axis_x: Scalar,
49 pub semi_axis_y: Scalar,
51}
52
53#[derive(Debug, Clone, Copy, PartialEq)]
55#[cfg_attr(
56 feature = "serde",
57 derive(serde::Serialize, serde::Deserialize),
58 serde(deny_unknown_fields)
59)]
60pub struct Cone {
61 pub frame: Frame3,
63 pub radius: Scalar,
65 pub semi_angle: Scalar,
67}
68
69#[derive(Debug, Clone, Copy, PartialEq)]
71#[cfg_attr(
72 feature = "serde",
73 derive(serde::Serialize, serde::Deserialize),
74 serde(deny_unknown_fields)
75)]
76pub struct Sphere {
77 pub frame: Frame3,
79 pub radius: Scalar,
81}
82
83#[derive(Debug, Clone, Copy, PartialEq)]
85#[cfg_attr(
86 feature = "serde",
87 derive(serde::Serialize, serde::Deserialize),
88 serde(deny_unknown_fields)
89)]
90pub struct Torus {
91 pub frame: Frame3,
93 pub major_radius: Scalar,
95 pub minor_radius: Scalar,
97}