60 |
60 |
61 /// Halfspaces described by an orthogonal vector and an offset. |
61 /// Halfspaces described by an orthogonal vector and an offset. |
62 /// |
62 /// |
63 /// The halfspace is $H = \\{ t v + a \mid a^⊤ v = 0 \\}$, where $v$ is the orthogonal |
63 /// The halfspace is $H = \\{ t v + a \mid a^⊤ v = 0 \\}$, where $v$ is the orthogonal |
64 /// vector and $t$ the offset. |
64 /// vector and $t$ the offset. |
65 /// |
|
66 /// `U` is the element type, `F` the floating point number type, and `A` the type of the |
|
67 /// orthogonal (dual) vectors. They need implement [`Dot<U, F>`]. |
|
68 #[derive(Clone,Copy,Debug,Serialize,Eq,PartialEq)] |
65 #[derive(Clone,Copy,Debug,Serialize,Eq,PartialEq)] |
69 pub struct Halfspace<A, F> where A : Euclidean<F>, F : Float { |
66 pub struct Halfspace<A, F> where A : Euclidean<F>, F : Float { |
70 pub orthogonal : A, |
67 pub orthogonal : A, |
71 pub offset : F, |
68 pub offset : F, |
72 } |
69 } |