pub struct PointToPlaneIcp { /* private fields */ }Expand description
Point-to-plane ICP registration.
Implementations§
Source§impl PointToPlaneIcp
impl PointToPlaneIcp
Sourcepub fn align_with_gpu_reduction(
&self,
runtime: &WgpuRuntime,
source: &PointCloud,
target: &PointCloud,
) -> SpatialResult<GpuPointToPlaneReductionDiagnostics>
pub fn align_with_gpu_reduction( &self, runtime: &WgpuRuntime, source: &PointCloud, target: &PointCloud, ) -> SpatialResult<GpuPointToPlaneReductionDiagnostics>
Retains source/target/tree/raw normals on GPU for transforms, nearest matching, plane Hessian/gradient and raw-normal plane fitness reductions. CPU solves normalized 6x6 equations and converts the linearized step to the existing world update/stopping convention. Each evaluation explicitly downloads 256 bytes; post-update equations feed the next solve/final fitness. No CPU fallback occurs. Raw normals keep relative length weights and need not be unit vectors. f32 arithmetic may change matches, pose and stopping.
Source§impl PointToPlaneIcp
impl PointToPlaneIcp
Sourcepub const fn new(config: PointToPlaneIcpConfig) -> Self
pub const fn new(config: PointToPlaneIcpConfig) -> Self
Creates a point-to-plane ICP algorithm from config.
Sourcepub const fn config(&self) -> PointToPlaneIcpConfig
pub const fn config(&self) -> PointToPlaneIcpConfig
Returns the config.
Sourcepub fn align_with_diagnostics(
&self,
source: &PointCloud,
target: &PointCloud,
) -> SpatialResult<RegistrationResult>
pub fn align_with_diagnostics( &self, source: &PointCloud, target: &PointCloud, ) -> SpatialResult<RegistrationResult>
Aligns source to target minimizing point-to-plane distance.
target must provide normals.
Trait Implementations§
Source§impl Clone for PointToPlaneIcp
impl Clone for PointToPlaneIcp
Source§fn clone(&self) -> PointToPlaneIcp
fn clone(&self) -> PointToPlaneIcp
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 moreimpl Copy for PointToPlaneIcp
Source§impl Debug for PointToPlaneIcp
impl Debug for PointToPlaneIcp
Source§impl PartialEq for PointToPlaneIcp
impl PartialEq for PointToPlaneIcp
Source§impl PointCloudRegistration for PointToPlaneIcp
impl PointCloudRegistration for PointToPlaneIcp
Source§fn align(
&self,
source: &PointCloud,
target: &PointCloud,
) -> SpatialResult<RegistrationResult>
fn align( &self, source: &PointCloud, target: &PointCloud, ) -> SpatialResult<RegistrationResult>
Aligns
source to target and returns the estimated transform.impl StructuralPartialEq for PointToPlaneIcp
Auto Trait Implementations§
impl Freeze for PointToPlaneIcp
impl RefUnwindSafe for PointToPlaneIcp
impl Send for PointToPlaneIcp
impl Sync for PointToPlaneIcp
impl Unpin for PointToPlaneIcp
impl UnsafeUnpin for PointToPlaneIcp
impl UnwindSafe for PointToPlaneIcp
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