: (List[ShellEnvelope]) List shells which partition the space. Radii of the shells must be increasing.
Method to return the index of a partition
Method to return the index of a partition
: (Any) The Key of the partition (Key/Value)
(Int) The key of the partition as Int.
Hashcode returns the number of partitions.
Hashcode returns the number of partitions.
(Int) the number of partitions
The number of partitions is the number of shells defined as the difference between 2 concentric spheres.
The number of partitions is the number of shells defined as the difference between 2 concentric spheres. The n partitions will contain the objects lying in our Onion space.
(Int) the number of partitions
Associate geometrical objects (Point3D, Sphere, etc) to grid elements (partition) of the onion space.
Associate geometrical objects (Point3D, Sphere, etc) to grid elements (partition) of the onion space. The association is done according to the position of the center of the object (we do not deal properly with extended objects yet). TODO: Implement a different condition for extended objects?
: (T<:Shape3D) Shape3D instance (or any extension) representing objects to put on the grid.
(Iterator[Tuple2[Int, T]]) Iterable over a Tuple of (Int, T) where Int is the partition index, and T the input object.
Class extending SpatialPartitioner to deal with the onion space. The idea is described here: https://github.com/JulienPeloton/spark3D/issues/11
The difference between 2 concentric spheres (shells) will define the elements of the grid (Spark partitions) such that we will have a onion space!