Trait truck_geometry::base::traits::SearchNearestParameter

source ·
pub trait SearchNearestParameter<Dim>
where Dim: SPDimension,
{ type Point; // Required method fn search_nearest_parameter<H>( &self, point: Self::Point, hint: H, trial: usize, ) -> Option<<Dim as SPDimension>::Parameter> where H: Into<<Dim as SPDimension>::Hint>; }
Expand description

Search parameter t such that self.subs(t) is nearest point.

Required Associated Types§

source

type Point

point

Required Methods§

source

fn search_nearest_parameter<H>( &self, point: Self::Point, hint: H, trial: usize, ) -> Option<<Dim as SPDimension>::Parameter>
where H: Into<<Dim as SPDimension>::Hint>,

Search nearest parameter t such that self.subs(t) is nearest point.
Returns None if could not find such parameter.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a, Dim, T> SearchNearestParameter<Dim> for &'a T
where Dim: SPDimension, T: SearchNearestParameter<Dim>,

source§

type Point = <T as SearchNearestParameter<Dim>>::Point

source§

fn search_nearest_parameter<H>( &self, point: <&'a T as SearchNearestParameter<Dim>>::Point, hint: H, trial: usize, ) -> Option<<Dim as SPDimension>::Parameter>
where H: Into<<Dim as SPDimension>::Hint>,

source§

impl<Dim, T> SearchNearestParameter<Dim> for Box<T>
where Dim: SPDimension, T: SearchNearestParameter<Dim>,

source§

type Point = <T as SearchNearestParameter<Dim>>::Point

source§

fn search_nearest_parameter<H>( &self, point: <Box<T> as SearchNearestParameter<Dim>>::Point, hint: H, trial: usize, ) -> Option<<Dim as SPDimension>::Parameter>
where H: Into<<Dim as SPDimension>::Hint>,

Implementors§

source§

impl SearchNearestParameter<D1> for UnitCircle<Point2>

source§

impl SearchNearestParameter<D1> for UnitCircle<Point3>

source§

impl SearchNearestParameter<D1> for UnitHyperbola<Point2>

source§

impl SearchNearestParameter<D1> for UnitHyperbola<Point3>

source§

impl SearchNearestParameter<D1> for UnitParabola<Point2>

source§

impl SearchNearestParameter<D1> for UnitParabola<Point3>

source§

impl SearchNearestParameter<D2> for Plane

source§

impl SearchNearestParameter<D2> for Sphere

source§

impl SearchNearestParameter<D2> for Torus

source§

impl<C, S> SearchNearestParameter<D1> for IntersectionCurve<C, S>

Only derive from leading curve. Not precise.

source§

impl<C, S> SearchNearestParameter<D1> for PCurve<C, S>
where Self: BoundedCurve, <Self as ParametricCurve>::Point: EuclideanSpace<Scalar = f64, Diff = <Self as ParametricCurve>::Vector> + MetricSpace<Metric = f64>, <Self as ParametricCurve>::Vector: InnerSpace<Scalar = f64> + Tolerance,

source§

impl<C: ParametricCurve3D + BoundedCurve> SearchNearestParameter<D2> for ExtrudedCurve<C, Vector3>

source§

impl<C: ParametricCurve3D + BoundedCurve> SearchNearestParameter<D2> for RevolutedCurve<C>

source§

impl<C: SearchNearestParameter<D1>> SearchNearestParameter<D1> for TrimmedCurve<C>

source§

impl<P> SearchNearestParameter<D1> for BSplineCurve<P>
where P: ControlPoint<f64> + EuclideanSpace<Scalar = f64, Diff = <P as ControlPoint<f64>>::Diff> + MetricSpace<Metric = f64> + Tolerance, <P as ControlPoint<f64>>::Diff: InnerSpace<Scalar = f64> + Tolerance,

source§

type Point = P

source§

impl<P> SearchNearestParameter<D1> for Line<P>
where P: ControlPoint<f64>, P::Diff: InnerSpace<Scalar = f64>,

source§

type Point = P

source§

impl<P> SearchNearestParameter<D2> for BSplineSurface<P>
where P: ControlPoint<f64> + EuclideanSpace<Scalar = f64, Diff = <P as ControlPoint<f64>>::Diff> + MetricSpace<Metric = f64>, <P as ControlPoint<f64>>::Diff: InnerSpace<Scalar = f64> + Tolerance,

source§

type Point = P

source§

impl<P, E, T> SearchNearestParameter<D1> for Processor<E, T>
where E: BoundedCurve<Point = P> + SearchNearestParameter<D1, Point = P>, P: EuclideanSpace<Scalar = f64, Diff = E::Vector>, E::Vector: InnerSpace<Scalar = f64> + Tolerance, T: Transform<P> + Clone,

source§

type Point = P

source§

impl<P, E, T> SearchNearestParameter<D2> for Processor<E, T>
where E: ParametricSurface<Point = P> + SearchNearestParameter<D2, Point = P>, P: EuclideanSpace<Scalar = f64, Diff = E::Vector>, E::Vector: InnerSpace<Scalar = f64> + Tolerance, T: Transform<P> + SquareMatrix<Scalar = f64> + Clone,

source§

type Point = P

source§

impl<V: Homogeneous<f64> + ControlPoint<f64, Diff = V>> SearchNearestParameter<D1> for NurbsCurve<V>
where V::Point: MetricSpace<Metric = f64>, <V::Point as EuclideanSpace>::Diff: InnerSpace + Tolerance,

source§

impl<V: Homogeneous<f64>> SearchNearestParameter<D2> for NurbsSurface<V>
where Self: ParametricSurface<Point = V::Point, Vector = <V::Point as EuclideanSpace>::Diff>, V::Point: EuclideanSpace<Scalar = f64> + MetricSpace<Metric = f64>, <V::Point as EuclideanSpace>::Diff: InnerSpace<Scalar = f64> + Tolerance,