Struct vox_geometry_rust::point_hash_grid_searcher3::PointHashGridSearcher3[][src]

pub struct PointHashGridSearcher3 { /* fields omitted */ }
Expand description

Hash grid-based 3-D point searcher.

This class implements 3-D point searcher by using hash grid for its internal acceleration data structure. Each point is recorded to its corresponding bucket where the hashing function is 3-D grid mapping.

Implementations

impl PointHashGridSearcher3[src]

pub fn new_default() -> PointHashGridSearcher3[src]

pub fn new_vec(resolution: USize3, grid_spacing: f64) -> PointHashGridSearcher3[src]

Constructs hash grid with given resolution and grid spacing.

This constructor takes hash grid resolution and its grid spacing as its input parameters. The grid spacing must be 3x or greater than search radius.

  • parameter: resolution The resolution.
  • parameter: grid_spacing The grid spacing.

pub fn new(
    resolution_x: usize,
    resolution_y: usize,
    resolution_z: usize,
    grid_spacing: f64
) -> PointHashGridSearcher3
[src]

\brief Constructs hash grid with given resolution and grid spacing.

This constructor takes hash grid resolution and its grid spacing as its input parameters. The grid spacing must be 3x or greater than search radius.

  • parameter: resolution_x The resolution x.
  • parameter: resolution_y The resolution y.
  • parameter: grid_spacing The grid spacing.

pub fn builder() -> Builder[src]

Returns builder fox PointHashGridSearcher3.

pub fn clone(&self) -> PointHashGridSearcher3Ptr[src]

\brief Creates a new instance of the object with same properties than original.

\return Copy of this object.

pub fn set(&mut self, other: &PointHashGridSearcher3)[src]

Copy from the other instance.

impl PointHashGridSearcher3[src]

pub fn add(&mut self, point: Vector3D)[src]

Adds a single point to the hash grid.

This function adds a single point to the hash grid for future queries. It can be used for a hash grid that is already built by calling function PointHashGridSearcher3::build.

  • parameter: point The point to be added.

pub fn buckets(&self) -> &Vec<Vec<usize>>[src]

Returns the internal bucket.

A bucket is a list of point indices that has same hash value. This function returns the (immutable) internal bucket structure.

\return List of buckets.

pub fn get_hash_key_from_bucket_index(&self, bucket_index: &ISize3) -> usize[src]

Returns the hash value for given 3-D bucket index.

  • parameter: bucket_index The bucket index.

\return The hash key from bucket index.

pub fn get_bucket_index(&self, position: &Vector3D) -> ISize3[src]

Gets the bucket index from a point.

  • parameter: position The position of the point.

\return The bucket index.

Trait Implementations

impl PointNeighborSearcher3 for PointHashGridSearcher3[src]

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. Read more

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

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

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V