com.astrolabsoftware.spark3d.spatialPartitioning
: (List[ShellEnvelope]) List shells which partition the space. Radii of the shells must be increasing.
Gets the partitions which are the neighbors of the partitions which contain the input object.
Gets the partitions which are the neighbors of the partitions which contain the input object.
input object for which the neighbors are to be found
list of Tuple of neighbor partitions and their index/partition ID's
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.
Gets the partitions which contain the input object.
Gets the partitions which contain the input object.
input object for which the containment is to be found
list of Tuple of containing partitions and their index/partition ID's
Gets the partitions which are the neighbors to the input partition.
Gets the partitions which are the neighbors to the input partition. Useful when getting secondary neighbors (neighbors to neighbor) of the queryObject.
The boundary of the Node for which neighbors are to be found.
The index/partition ID of the containingNode
list of Tuple of secondary neighbor partitions and their index/partition IDs
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!