Class

com.astrolabsoftware.spark3d.spatialPartitioning

OnionPartitioner

Related Doc: package spatialPartitioning

Permalink

class OnionPartitioner extends SpatialPartitioner

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!

Linear Supertypes
SpatialPartitioner, Partitioner, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OnionPartitioner
  2. SpatialPartitioner
  3. Partitioner
  4. Serializable
  5. Serializable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OnionPartitioner(grids: List[ShellEnvelope])

    Permalink

    grids

    : (List[ShellEnvelope]) List shells which partition the space. Radii of the shells must be increasing.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def getNeighborNodes[T <: Shape3D](spatialObject: T): List[(Int, Shape3D)]

    Permalink

    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.

    spatialObject

    input object for which the neighbors are to be found

    returns

    list of Tuple of neighbor partitions and their index/partition ID's

    Definition Classes
    OnionPartitionerSpatialPartitioner
  11. def getPartition(key: Any): Int

    Permalink

    Method to return the index of a partition

    Method to return the index of a partition

    key

    : (Any) The Key of the partition (Key/Value)

    returns

    (Int) The key of the partition as Int.

    Definition Classes
    SpatialPartitioner → Partitioner
  12. def getPartitionNodes[T <: Shape3D](spatialObject: T): List[(Int, Shape3D)]

    Permalink

    Gets the partitions which contain the input object.

    Gets the partitions which contain the input object.

    spatialObject

    input object for which the containment is to be found

    returns

    list of Tuple of containing partitions and their index/partition ID's

    Definition Classes
    OnionPartitionerSpatialPartitioner
  13. def getSecondaryNeighborNodes[T <: Shape3D](containingNode: T, containingNodeID: Int): List[(Int, Shape3D)]

    Permalink

    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.

    containingNode

    The boundary of the Node for which neighbors are to be found.

    containingNodeID

    The index/partition ID of the containingNode

    returns

    list of Tuple of secondary neighbor partitions and their index/partition IDs

    Definition Classes
    OnionPartitionerSpatialPartitioner
  14. def hashCode(): Int

    Permalink

    Hashcode returns the number of partitions.

    Hashcode returns the number of partitions.

    returns

    (Int) the number of partitions

    Definition Classes
    OnionPartitioner → AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. def numPartitions: Int

    Permalink

    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.

    returns

    (Int) the number of partitions

    Definition Classes
    OnionPartitioner → Partitioner
  20. def placeObject[T <: Shape3D](spatialObject: T): Iterator[(Int, T)]

    Permalink

    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?

    spatialObject

    : (T<:Shape3D) Shape3D instance (or any extension) representing objects to put on the grid.

    returns

    (Iterator[Tuple2[Int, T]]) Iterable over a Tuple of (Int, T) where Int is the partition index, and T the input object.

    Definition Classes
    OnionPartitionerSpatialPartitioner
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from SpatialPartitioner

Inherited from Partitioner

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped