diff --git a/src/kernel/topology/vertices.rs b/src/kernel/topology/vertices.rs index ff121db7c..3643d98a5 100644 --- a/src/kernel/topology/vertices.rs +++ b/src/kernel/topology/vertices.rs @@ -69,6 +69,23 @@ impl Vertex<3> { } } +impl Vertex<1> { + /// Create a transformed vertex + /// + /// This is a 3D transformation that transforms the canonical form of the + /// vertex, but leaves the location untouched. Since `self` is a + /// 1-dimensional vertex, transforming the location is not possible. + /// + /// And, presumably, also not necessary, as this is likely part of a larger + /// transformation that also transforms the curve the vertex is on. Making + /// sure this is the case, is the responsibility of the caller. + #[must_use] + pub fn transform(mut self, transform: &Transform) -> Self { + self.canonical = transform.transform_point(&self.canonical); + self + } +} + impl Vertex { /// Access the location of this vertex pub fn location(&self) -> &Point { @@ -82,14 +99,4 @@ impl Vertex { canonical: self.canonical, } } - - /// Create a transformed vertex - /// - /// The transformed vertex has its canonical form transformed by the - /// transformation provided, but is otherwise identical. - #[must_use] - pub fn transform(mut self, transform: &Transform) -> Self { - self.canonical = transform.transform_point(&self.canonical); - self - } }