Trait vox_geometry_rust::point_neighbor_searcher3::PointNeighborSearcher3[][src]

pub trait PointNeighborSearcher3 {
    fn type_name() -> String;
fn build(&mut self, points: &Vec<Vector3D>);
fn for_each_nearby_point<Callback>(
        &self,
        origin: &Vector3D,
        radius: f64,
        callback: &mut Callback
    )
    where
        Callback: ForEachNearbyPointFunc
;
fn has_nearby_point(&self, origin: &Vector3D, radius: f64) -> bool; }
Expand description

Abstract base class for 3-D neighbor point searcher.

This class provides interface for 3-D neighbor point searcher. For given list of points, the class builds internal cache to accelerate the search. Once built, the data structure is used to search nearby points for given origin point.

Required methods

fn type_name() -> String[src]

Returns the type name of the derived class.

fn build(&mut self, points: &Vec<Vector3D>)[src]

Builds internal acceleration structure for given points list.

fn for_each_nearby_point<Callback>(
    &self,
    origin: &Vector3D,
    radius: f64,
    callback: &mut Callback
) where
    Callback: ForEachNearbyPointFunc
[src]

Invokes the callback function for each nearby point around the origin within given radius.

  • Parameters:
    • origin: The origin position.
    • radius: The search radius.
    • callback: The callback function.

fn has_nearby_point(&self, origin: &Vector3D, radius: f64) -> bool[src]

Returns true if there are any nearby points for given origin within radius.

  • Parameters:
    • origin: The origin.
    • radius: The radius.

Implementors

impl PointNeighborSearcher3 for PointHashGridSearcher3[src]

fn type_name() -> String[src]

fn build(&mut self, points: &Vec<Vector3D>)[src]

fn for_each_nearby_point<Callback>(
    &self,
    origin: &Vector3D,
    radius: f64,
    callback: &mut Callback
) where
    Callback: ForEachNearbyPointFunc
[src]

fn has_nearby_point(&self, origin: &Vector3D, radius: f64) -> bool[src]

impl PointNeighborSearcher3 for PointKdTreeSearcher3[src]

fn type_name() -> String[src]

fn build(&mut self, points: &Vec<Vector3D>)[src]

fn for_each_nearby_point<Callback>(
    &self,
    origin: &Vector3D,
    radius: f64,
    callback: &mut Callback
) where
    Callback: ForEachNearbyPointFunc
[src]

fn has_nearby_point(&self, origin: &Vector3D, radius: f64) -> bool[src]

impl PointNeighborSearcher3 for PointParallelHashGridSearcher3[src]

fn type_name() -> String[src]

fn build(&mut self, points: &Vec<Vector3D>)[src]

fn for_each_nearby_point<Callback>(
    &self,
    origin: &Vector3D,
    radius: f64,
    callback: &mut Callback
) where
    Callback: ForEachNearbyPointFunc
[src]

fn has_nearby_point(&self, origin: &Vector3D, radius: f64) -> bool[src]

impl PointNeighborSearcher3 for PointSimpleListSearcher3[src]

fn type_name() -> String[src]

fn build(&mut self, points: &Vec<Vector3D>)[src]

fn for_each_nearby_point<Callback>(
    &self,
    origin: &Vector3D,
    radius: f64,
    callback: &mut Callback
) where
    Callback: ForEachNearbyPointFunc
[src]

fn has_nearby_point(&self, origin: &Vector3D, radius: f64) -> bool[src]