ICPTrait

Trait ICPTrait 

Source
pub trait ICPTrait: ICPTraitConst {
    // Required method
    fn as_raw_mut_ICP(&mut self) -> *mut c_void;

    // Provided methods
    fn register_model_to_scene(
        &mut self,
        src_pc: &impl MatTraitConst,
        dst_pc: &impl MatTraitConst,
        residual: &mut f64,
        pose: &mut Matx44d,
    ) -> Result<i32> { ... }
    fn register_model_to_scene_vec(
        &mut self,
        src_pc: &impl MatTraitConst,
        dst_pc: &impl MatTraitConst,
        poses: &mut Vector<Pose3DPtr>,
    ) -> Result<i32> { ... }
}
Expand description

Mutable methods for crate::surface_matching::ICP

Required Methods§

Provided Methods§

Source

fn register_model_to_scene( &mut self, src_pc: &impl MatTraitConst, dst_pc: &impl MatTraitConst, residual: &mut f64, pose: &mut Matx44d, ) -> Result<i32>

\brief Perform registration

§Parameters
  • srcPC: The input point cloud for the model. Expected to have the normals (Nx6). Currently, CV_32F is the only supported data type.
  • dstPC: The input point cloud for the scene. It is assumed that the model is registered on the scene. Scene remains static. Expected to have the normals (Nx6). Currently, CV_32F is the only supported data type.
  • residual:[out] The output registration error.
  • pose:[out] Transformation between srcPC and dstPC. \return On successful termination, the function returns 0.

\details It is assumed that the model is registered on the scene. Scene remains static, while the model transforms. The output poses transform the models onto the scene. Because of the point to plane minimization, the scene is expected to have the normals available. Expected to have the normals (Nx6).

Source

fn register_model_to_scene_vec( &mut self, src_pc: &impl MatTraitConst, dst_pc: &impl MatTraitConst, poses: &mut Vector<Pose3DPtr>, ) -> Result<i32>

\brief Perform registration with multiple initial poses

§Parameters
  • srcPC: The input point cloud for the model. Expected to have the normals (Nx6). Currently, CV_32F is the only supported data type.
  • dstPC: The input point cloud for the scene. Currently, CV_32F is the only supported data type. @param [in,out] poses Input poses to start with but also list output of poses. \return On successful termination, the function returns 0.

\details It is assumed that the model is registered on the scene. Scene remains static, while the model transforms. The output poses transform the models onto the scene. Because of the point to plane minimization, the scene is expected to have the normals available. Expected to have the normals (Nx6).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§