pub struct NormalEstimator { /* private fields */ }Expand description
Covariance-based normal estimator.
Implementations§
Source§impl NormalEstimator
impl NormalEstimator
Sourcepub const fn new(config: NormalEstimationConfig) -> NormalEstimator
pub const fn new(config: NormalEstimationConfig) -> NormalEstimator
Creates a normal estimator from config.
Sourcepub const fn config(&self) -> NormalEstimationConfig
pub const fn config(&self) -> NormalEstimationConfig
Returns the estimator config.
Sourcepub fn estimate_with_diagnostics(
&self,
input: &PointCloud,
) -> Result<(PointCloud, NormalEstimationResult), SpatialError>
pub fn estimate_with_diagnostics( &self, input: &PointCloud, ) -> Result<(PointCloud, NormalEstimationResult), SpatialError>
Estimates normals and curvature, returning output cloud and diagnostics.
Sourcepub fn estimate_with_policy(
&self,
input: &PointCloud,
policy: ExecutionPolicy,
) -> Result<PointCloud, SpatialError>
pub fn estimate_with_policy( &self, input: &PointCloud, policy: ExecutionPolicy, ) -> Result<PointCloud, SpatialError>
Estimates normals using the given execution policy.
With the feature-normal-gpu feature, ExecutionPolicy::Auto
runs covariance analysis on wgpu when the input meets
NormalEstimationConfig::effective_gpu_min_points. An explicit GPU
policy is strict and does not use the threshold; use Auto for fallback.
Sourcepub fn estimate_with_policy_and_receipt(
&self,
input: &PointCloud,
policy: ExecutionPolicy,
) -> Result<ExecutionOutput<PointCloud>, SpatialError>
pub fn estimate_with_policy_and_receipt( &self, input: &PointCloud, policy: ExecutionPolicy, ) -> Result<ExecutionOutput<PointCloud>, SpatialError>
Estimates normals and returns execution/transfer accounting.
Sourcepub fn selects_gpu_backend(
&self,
input: &PointCloud,
policy: ExecutionPolicy,
) -> bool
pub fn selects_gpu_backend( &self, input: &PointCloud, policy: ExecutionPolicy, ) -> bool
Returns whether the given policy selects the GPU backend for this input.
Sourcepub fn gpu_grid_fits(&self, input: &PointCloud, radius: f32) -> bool
pub fn gpu_grid_fits(&self, input: &PointCloud, radius: f32) -> bool
Returns whether a GPU uniform-grid normal pass fits the input bounds at radius.
Trait Implementations§
Source§impl Clone for NormalEstimator
impl Clone for NormalEstimator
Source§fn clone(&self) -> NormalEstimator
fn clone(&self) -> NormalEstimator
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NormalEstimator
impl Debug for NormalEstimator
Source§impl FeatureEstimator for NormalEstimator
impl FeatureEstimator for NormalEstimator
Source§fn estimate(&self, input: &PointCloud) -> Result<PointCloud, SpatialError>
fn estimate(&self, input: &PointCloud) -> Result<PointCloud, SpatialError>
Runs feature estimation and returns an output point cloud.
Source§impl PartialEq for NormalEstimator
impl PartialEq for NormalEstimator
Source§fn eq(&self, other: &NormalEstimator) -> bool
fn eq(&self, other: &NormalEstimator) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for NormalEstimator
Auto Trait Implementations§
impl Freeze for NormalEstimator
impl RefUnwindSafe for NormalEstimator
impl Send for NormalEstimator
impl Sync for NormalEstimator
impl Unpin for NormalEstimator
impl UnsafeUnpin for NormalEstimator
impl UnwindSafe for NormalEstimator
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more