Segment2
Segment2
是一个在笛卡尔坐标系中表示二维线段的 trait
。
LineSegment2
、CircleSegment2
和 ArcSegment2
是实现 Segment2
trait 的三种线段类型。
Segment2
trait 如下:
rust
pub trait Segment2<T: NumberType>: Debug + Clone + Copy {
fn segment_type(&self) -> Segment2Type;
fn source(&self) -> Point2<T>;
fn source_radian(&self) -> T;
fn target(&self) -> Point2<T>;
fn target_radian(&self) -> T;
fn center(&self) -> Point2<T>;
fn radius(&self) -> T;
}
DANGER
并非所有方法都适用于所有类型的线段。
LineSegment2
不实现 source_radian
、target_radian
、center
和 radius
方法。
CircleSegment2
不实现 source
、source_radian
、target
和 target_radian
方法。
ArcSegment2
实现所有方法。