kcl_lib/std/axis_or_reference.rs
1//! Types for referencing an axis or edge.
2
3use super::args::TyF64;
4use crate::std::fillet::EdgeReference;
5
6/// A 2D axis or tagged edge.
7#[derive(Debug, Clone, PartialEq)]
8pub enum Axis2dOrEdgeReference {
9 /// 2D axis and origin.
10 Axis { direction: [TyF64; 2], origin: [TyF64; 2] },
11 /// Tagged edge.
12 Edge(EdgeReference),
13}
14
15/// A 3D axis or tagged edge.
16#[allow(clippy::large_enum_variant)]
17#[derive(Debug, Clone, PartialEq)]
18pub enum Axis3dOrEdgeReference {
19 /// 3D axis and origin.
20 Axis { direction: [TyF64; 3], origin: [TyF64; 3] },
21 /// Tagged edge.
22 Edge(EdgeReference),
23}