#![forbid(unsafe_code)]
pub mod center_line;
pub mod contour;
pub mod parameterized;
pub mod validate;
use axiolid_core::Transform2;
pub use center_line::CenterLineProfile;
pub use contour::{Contour, ContourProfile, ProfileSegment};
pub use parameterized::{CircleProfile, EllipseProfile, RectangleProfile, SectionProfile};
pub use validate::ValidateProfile;
#[non_exhaustive]
#[derive(Debug, Clone, PartialEq)]
pub enum Profile {
Rectangle(RectangleProfile),
Circle(CircleProfile),
Ellipse(EllipseProfile),
Section(SectionProfile),
Contour(ContourProfile),
Derived {
basis: Box<Profile>,
transform: Transform2,
},
Composite(Vec<Profile>),
CenterLine(CenterLineProfile),
}