Trait/Object

de.sciss.lucre.data

DeterministicSkipOctree

Related Docs: object DeterministicSkipOctree | package data

Permalink

sealed trait DeterministicSkipOctree[S <: Sys[S], D <: Space[D], A] extends SkipOctree[S, D, A]

Self Type
DeterministicSkipOctree[S, D, A]
Linear Supertypes
SkipOctree[S, D, A], Mutable[S.ID, S.Tx], Disposable[S.Tx], Writable, Identifiable[S.ID], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DeterministicSkipOctree
  2. SkipOctree
  3. Mutable
  4. Disposable
  5. Writable
  6. Identifiable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait Branch extends Child

    Permalink
  2. sealed trait BranchLike extends NonEmpty with Writable with Branch

    Permalink

    Nodes are defined by a hyperCube area as well as a list of children, as well as a pointer next to the corresponding node in the next highest tree.

    Nodes are defined by a hyperCube area as well as a list of children, as well as a pointer next to the corresponding node in the next highest tree. A Branch also provides various search methods.

    Attributes
    protected
  3. sealed trait Child extends AnyRef

    Permalink
  4. sealed trait ChildBranch extends BranchLike with NonEmptyChild

    Permalink

     Utility trait which elements the rightward search findPN.

     Utility trait which elements the rightward search findPN.

    Attributes
    protected
  5. final type ChildOption = Child with Writable

    Permalink
    Attributes
    protected
  6. sealed trait Empty extends Child

    Permalink
  7. sealed trait Leaf extends Child

    Permalink
  8. final class LeafImpl extends LeftNonEmptyChild with RightNonEmptyChild with LeafOrEmpty with Leaf

    Permalink

    A leaf in the octree, carrying a map entry in the form of a point and associated value.

    A leaf in the octree, carrying a map entry in the form of a point and associated value. Note that a single instance of a leaf is used across the levels of the octree! That means that multiple child pointers may go to the same leaf, while the parent of a leaf always points into the highest level octree that the leaf resides in, according to the skiplist.

    Attributes
    protected
  9. sealed trait LeafOrEmpty extends LeftChild

    Permalink
    Attributes
    protected
  10. sealed trait Left extends AnyRef

    Permalink
    Attributes
    protected
  11. sealed trait LeftBranch extends BranchLike with LeftNonEmpty

    Permalink

    A left tree node implementation provides more specialized child nodes of type LeftChild.

    A left tree node implementation provides more specialized child nodes of type LeftChild. It furthermore defines a resolution method findImmediateLeaf which is typically called after arriving here from a findP0 call.

    Attributes
    protected
  12. sealed trait LeftChild extends Left with Child

    Permalink
    Attributes
    protected
  13. final class LeftChildBranch extends LeftBranch with ChildBranch with LeftNonEmptyChild

    Permalink
    Attributes
    protected
  14. type LeftChildOption = LeftChild with Writable

    Permalink
    Attributes
    protected
  15. sealed trait LeftNonEmpty extends Left with NonEmpty

    Permalink

    A tree element in Q0 has markers for the in-order traversal.

    A tree element in Q0 has markers for the in-order traversal. NOT ANYMORE

    Attributes
    protected
  16. sealed trait LeftNonEmptyChild extends LeftNonEmpty with NonEmptyChild with LeftChild with Writable

    Permalink

    A common trait used in pattern matching, comprised of Leaf and LeftChildBranch.

    A common trait used in pattern matching, comprised of Leaf and LeftChildBranch.

    Attributes
    protected
  17. final class LeftTopBranch extends LeftBranch with TopBranch with Mutable[S.ID, S.Tx]

    Permalink
    Attributes
    protected
  18. sealed trait Next extends AnyRef

    Permalink
    Attributes
    protected
  19. final type NextOption = Next with Writable

    Permalink
    Attributes
    protected
  20. sealed trait NonEmpty extends Identifiable[S.ID]

    Permalink

    A node is an object that can be stored in a orthant of a branch.

    A node is an object that can be stored in a orthant of a branch.

    Attributes
    protected
  21. sealed trait NonEmptyChild extends NonEmpty with Child

    Permalink

    An inner non empty tree element has a mutable parent node.

  22. sealed trait RightBranch extends Next with BranchLike

    Permalink

    A right tree node implementation provides more specialized child nodes of type RightChild.

    A right tree node implementation provides more specialized child nodes of type RightChild. It furthermore defines the node in Qi-1 via the prev method.

    Attributes
    protected
  23. sealed trait RightChild extends Child

    Permalink
    Attributes
    protected
  24. type RightChildOption = RightChild with Writable

    Permalink
    Attributes
    protected
  25. sealed trait RightNonEmptyChild extends RightChild with NonEmptyChild with Writable

    Permalink

    A common trait used in pattern matching, comprised of Leaf and RightChildBranch.

    A common trait used in pattern matching, comprised of Leaf and RightChildBranch.

    Attributes
    protected
  26. final class RightTopBranch extends RightBranch with TopBranch

    Permalink
    Attributes
    protected
  27. sealed trait TopBranch extends BranchLike

    Permalink
    Attributes
    protected

Abstract Value Members

  1. abstract def head: LeftTopBranch

    Permalink
    Attributes
    protected
  2. abstract def hyperCube: D.HyperCube

    Permalink

    The base square of the tree.

    The base square of the tree. No point can lie outside this square (or hyper-cube).

    Definition Classes
    SkipOctree
  3. abstract def id: S.ID

    Permalink
    Definition Classes
    Identifiable
  4. implicit abstract def keySerializer: Serializer[S.Tx, S.Acc, A]

    Permalink
  5. abstract def lastTreeRef: S.Var[TopBranch]

    Permalink
    Attributes
    protected
  6. abstract def pointView: (A, S.Tx) ⇒ D.PointLike

    Permalink

    A function which maps an element (possibly through transactional access) to a geometric point coordinate.

    A function which maps an element (possibly through transactional access) to a geometric point coordinate.

    Definition Classes
    SkipOctree
  7. abstract def skipList: Set[S, LeafImpl]

    Permalink
    Attributes
    protected
  8. implicit abstract def space: D

    Permalink

    The space (i.e., resolution and dimensionality) underlying the tree.

    The space (i.e., resolution and dimensionality) underlying the tree.

    Definition Classes
    DeterministicSkipOctreeSkipOctree

Concrete 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 +=(elem: A)(implicit tx: S.Tx): DeterministicSkipOctree.this.type

    Permalink

    Adds an element to the tree.

    Adds an element to the tree. If there is already an element stored at the point represented by the new element, it will be replaced.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  4. final def -=(elem: A)(implicit tx: S.Tx): DeterministicSkipOctree.this.type

    Permalink

    Removes an element from the tree.

    Removes an element from the tree. If the element is not found, this operation does nothing.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. implicit object BranchSerializer extends Serializer[S.Tx, S.Acc, BranchLike]

    Permalink
    Attributes
    protected
  7. object EmptyValue extends LeftChild with RightChild with Next with LeafOrEmpty with Empty with Writable with Product with Serializable

    Permalink
  8. implicit object KeyObserver extends KeyObserver[S.Tx, LeafImpl]

    Permalink
    Attributes
    protected
  9. object LeafOrdering extends Ordering[S.Tx, LeafImpl]

    Permalink
    Attributes
    protected
  10. object LeafSerializer extends Serializer[S.Tx, S.Acc, LeafImpl]

    Permalink
    Attributes
    protected
  11. implicit object LeftBranchSerializer extends Serializer[S.Tx, S.Acc, LeftBranch]

    Permalink
    Attributes
    protected
  12. object LeftChildOptionSerializer extends Serializer[S.Tx, S.Acc, LeftChildOption]

    Permalink
    Attributes
    protected
  13. implicit object LeftTopBranchSerializer extends Serializer[S.Tx, S.Acc, LeftTopBranch]

    Permalink
    Attributes
    protected
  14. implicit object RightBranchSerializer extends Serializer[S.Tx, S.Acc, RightBranch]

    Permalink
    Attributes
    protected
  15. implicit object RightChildOptionSerializer extends Serializer[S.Tx, S.Acc, RightChildOption]

    Permalink
    Attributes
    protected
  16. object RightOptionReader extends Serializer[S.Tx, S.Acc, NextOption]

    Permalink
    Attributes
    protected
  17. object TopBranchSerializer extends Serializer[S.Tx, S.Acc, TopBranch]

    Permalink
    Attributes
    protected
  18. final def add(elem: A)(implicit tx: S.Tx): Boolean

    Permalink

    Adds an element to the tree (or replaces a given element with the same point location).

    Adds an element to the tree (or replaces a given element with the same point location).

    elem

    the element to add

    returns

    true if the element is new in the tree. If a previous entry with the same point view is overwritten, this is true if the elements were not equal, false if they were equal

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  19. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  20. final def clear()(implicit tx: S.Tx): Unit

    Permalink
    Definition Classes
    DeterministicSkipOctreeSkipOctree
  21. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def contains(elem: A)(implicit tx: S.Tx): Boolean

    Permalink

    Tests whether the tree contains an element.

    Tests whether the tree contains an element.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  23. def debugPrint()(implicit tx: S.Tx): String

    Permalink

    Returns a string debug representation of the octree.

    Returns a string debug representation of the octree.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  24. final def dispose()(implicit tx: S.Tx): Unit

    Permalink
    Definition Classes
    DeterministicSkipOctreeDisposable
  25. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  26. def equals(that: Any): Boolean

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  28. final def get(point: D.PointLike)(implicit tx: S.Tx): Option[A]

    Permalink

    Queries the element at a given point.

    Queries the element at a given point.

    point

    the point to look up.

    returns

    Some element if found, None if the point was not present.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  29. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  30. def hashCode(): Int

    Permalink
    Definition Classes
    Identifiable → AnyRef → Any
  31. final def headTree: Branch

    Permalink
  32. final def isDefinedAt(point: D.PointLike)(implicit tx: S.Tx): Boolean

    Permalink

    Queries whether an element is stored at a given point.

    Queries whether an element is stored at a given point.

    point

    the point to query

    returns

    true if an element is associated with the query point, false otherwise

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  33. final def isEmpty(implicit tx: S.Tx): Boolean

    Permalink

    Tests whether the tree is empty (true) or whether it contains any elements (false).

    Tests whether the tree is empty (true) or whether it contains any elements (false).

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  34. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  35. final def iterator(implicit tx: S.Tx): Iterator[A]

    Permalink

    An Iterator which iterates over the points stored in the octree, using an in-order traversal directed by the orthant indices of the nodes of the tree.

    An Iterator which iterates over the points stored in the octree, using an in-order traversal directed by the orthant indices of the nodes of the tree.

    Great care has to be taken as the iterator might be corrupted if the tree is successively changed before the iterator is exhausted.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  36. final def lastTree(implicit tx: S.Tx): Branch

    Permalink
  37. final def lastTreeImpl(implicit tx: S.Tx): TopBranch

    Permalink
  38. final def lastTreeImpl_=(node: TopBranch)(implicit tx: S.Tx): Unit

    Permalink
  39. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  40. final def nearestNeighbor[M](point: D.PointLike, metric: DistanceMeasure[M, D])(implicit tx: S.Tx): A

    Permalink

    Reports the nearest neighbor entry with respect to a given point.

    Reports the nearest neighbor entry with respect to a given point.

    Note: There is a potential numeric overflow if the squared distance of the query point towards the furthest corner of the tree's root hyper-cube exceeds 63 bits. For a root IntSquare(0x40000000, 0x40000000, 0x40000000), this happens for example for any point going more towards north-west than IntPoint2DLike(-1572067139, -1572067139).

    point

    the point of which the nearest neighbor is to be found

    metric

    (description missing)

    Definition Classes
    DeterministicSkipOctreeSkipOctree
    Exceptions thrown

    NoSuchElementException if the tree is empty

  41. final def nearestNeighborOption[M](point: D.PointLike, metric: DistanceMeasure[M, D])(implicit tx: S.Tx): Option[A]

    Permalink

    Same as nearestNeighbor but returning an Option, thus not throwing an exception if no neighbor is found.

    Same as nearestNeighbor but returning an Option, thus not throwing an exception if no neighbor is found.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  42. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  44. final def numLevels(implicit tx: S.Tx): Int

    Permalink

    Reports the number of decimation levels in the tree.

    Reports the number of decimation levels in the tree.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  45. final def numOrthants: Int

    Permalink

    The number of orthants in each hyperCube.

    The number of orthants in each hyperCube. This is equal to 1 << numDimensions and gives the upper bound of the index to QNode.child().

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  46. final def rangeQuery[Area](qs: QueryShape[Area, D])(implicit tx: S.Tx): Iterator[A]

    Permalink
    Definition Classes
    DeterministicSkipOctreeSkipOctree
  47. final def remove(elem: A)(implicit tx: S.Tx): Boolean

    Permalink

    Removes an element from the tree

    Removes an element from the tree

    elem

    the element to remove

    returns

    true if the element had been found in the tree and thus been removed.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  48. final def removeAt(point: D.PointLike)(implicit tx: S.Tx): Option[A]

    Permalink

    Removes the element stored under a given point view.

    Removes the element stored under a given point view.

    point

    the location of the element to remove

    returns

    the element removed, wrapped as Some, or None if no element was found for the given point.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  49. final def size(implicit tx: S.Tx): Int

    Permalink

     Queries the number of leaves in the tree.

     Queries the number of leaves in the tree. This may be a very costly action, so it is recommended to only use it for debugging purposes.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  50. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  51. final def toIndexedSeq(implicit tx: S.Tx): IndexedSeq[A]

    Permalink

     Converts the tree into a linearized indexed sequence.

     Converts the tree into a linearized indexed sequence. This is not necessarily a very efficient method, and should usually just be used for debugging.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  52. final def toList(implicit tx: S.Tx): List[A]

    Permalink

     Converts the tree into a linearized list.

     Converts the tree into a linearized list. This is not necessarily a very efficient method, and should usually just be used for debugging.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  53. final def toSeq(implicit tx: S.Tx): Seq[A]

    Permalink

     Converts the tree into a linearized sequence.

     Converts the tree into a linearized sequence. This is not necessarily a very efficient method, and should usually just be used for debugging. To avoid surprises, this does not call iterator.toSeq because that would produce a Stream and thus subject to further changes to the tree while traversing. The returned seq instead is 'forced' and thus stable.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  54. final def toSet(implicit tx: S.Tx): Set[A]

    Permalink

    Converts the tree into a non-transactional set.

    Converts the tree into a non-transactional set. This is not necessarily a very efficient method, and should usually just be used for debugging.

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  55. def toString(): String

    Permalink
    Definition Classes
    DeterministicSkipOctree → AnyRef → Any
  56. def transformAt(point: D.PointLike)(fun: (Option[A]) ⇒ Option[A])(implicit tx: S.Tx): Option[A]

    Permalink

    Looks up a point and applies a transformation to the entry associated with it.

    Looks up a point and applies a transformation to the entry associated with it. This can be used to update an element in-place, or used for maintaining a spatial multi-map.

    point

    the location at which to perform the transformation

    fun

    a function to transform the element found, or generate a new element. The argument is the element previously stored with the point, or None if no element is found. The result is expected to be Some new element to be stored, or None if no element is to be stored (in this case, if an element was previously stored, it is removed)

    returns

    the previously stored element (if any)

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  57. final def update(elem: A)(implicit tx: S.Tx): Option[A]

    Permalink

    Adds an element to the tree (or replaces a given element with the same point location).

    Adds an element to the tree (or replaces a given element with the same point location).

    elem

    the element to add to the tree

    returns

    the old element stored for the same point view, if it existed

    Definition Classes
    DeterministicSkipOctreeSkipOctree
  58. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. final def write(out: DataOutput): Unit

    Permalink
    Definition Classes
    DeterministicSkipOctree → Writable

Inherited from SkipOctree[S, D, A]

Inherited from Mutable[S.ID, S.Tx]

Inherited from Disposable[S.Tx]

Inherited from Writable

Inherited from Identifiable[S.ID]

Inherited from AnyRef

Inherited from Any

Ungrouped