pub struct TangentContact {
pub point: Vec3,
pub params_a: [f64; 2],
pub params_b: [f64; 2],
pub rank_ratio: f64,
pub curvature_scale: f64,
pub tangency_residual: f64,
pub saddle: bool,
pub direction: Option<Vec3>,
}Expand description
A tangential contact between two carriers, refined onto the contact and classified by the rank of the height-difference Hessian there.
Fields§
§point: Vec3The refined contact point.
params_a: [f64; 2]Its parameters on the first and second carrier.
params_b: [f64; 2]§rank_ratio: f64min|λ| / κ of H = II_a − II_b: under EXTENDED_RANK_FLOOR the
contact extends along a curve.
curvature_scale: f64The local curvature scale κ the ratio is read against.
tangency_residual: f64|n_a × n_b| the refinement actually reached.
saddle: boolThe two eigenvalues have opposite signs: two transverse branches cross here (an isolated node), which the ordinary march owns.
direction: Option<Vec3>The contact curve’s unit tangent at point, present only for an
extended contact.
Implementations§
Source§impl TangentContact
impl TangentContact
Sourcepub fn is_extended(&self) -> bool
pub fn is_extended(&self) -> bool
The carriers touch along a CURVE through this point.
Trait Implementations§
Source§impl Clone for TangentContact
impl Clone for TangentContact
impl Copy for TangentContact
Auto Trait Implementations§
impl Forget for TangentContact
impl Freeze for TangentContact
impl Move for TangentContact
impl RefUnwindSafe for TangentContact
impl Send for TangentContact
impl Sync for TangentContact
impl Unpin for TangentContact
impl UnsafeUnpin for TangentContact
impl UnwindSafe for TangentContact
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more