object DetSkipOctree
A transactional deterministic skip octree as outlined in the paper by Eppstein et al. It is constructed from a given space (dimensions) and a skip-gap parameter which determines the kind of skip list which is used to govern the level decimation.
The tree is a mutable data structure which supports lookup, insertion and removal in O(log n), as well as efficient range queries and nearest neighbour search.
The current implementation, backed by impl.SkipOctreeImpl
, uses the types of
the geom
package, assuming that coordinates are integers, with the maximum
root hyper-cube given by a span from 0
to 0x7FFFFFFF
(e.g. in Space.IntTwoDim
,
this is IntSquare( 0x40000000, 0x40000000, 0x40000000 )
.
- Alphabetic
- By Inheritance
- DetSkipOctree
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed trait Branch[T <: Exec[T], P, H, A] extends Child[T, P, H, A] with NonEmpty[T, P, H]
- sealed trait Child[+T, +P, +H, +A] extends Writable
- sealed trait ChildBranch[T <: Exec[T], P, H, A] extends Branch[T, P, H, A] with NonEmptyChild[T, P, H, A]
Utility trait which elements the rightward search
findPN
. - sealed trait Leaf[T <: Exec[T], P, H, A] extends Child[T, P, H, A] with LeftNonEmptyChild[T, P, H, A] with RightNonEmptyChild[T, P, H, A] with LeafOrEmpty[T, P, H, A]
- sealed trait LeafOrEmpty[+T, +P, +H, +A] extends LeftChild[T, P, H, A]
- Attributes
- protected
- sealed trait Left extends AnyRef
- sealed trait LeftBranch[T <: Exec[T], P, H, A] extends Branch[T, P, H, A] with LeftNonEmpty[T, P, H]
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 methodfindImmediateLeaf
which is typically called after arriving here from afindP0
call. - sealed trait LeftChild[+T, +P, +H, +A] extends Left with Child[T, P, H, A]
- sealed trait LeftChildBranch[T <: Exec[T], P, H, A] extends LeftBranch[T, P, H, A] with ChildBranch[T, P, H, A] with LeftNonEmptyChild[T, P, H, A]
- sealed trait LeftNonEmpty[T <: Exec[T], P, H] extends Left with NonEmpty[T, P, H]
- sealed trait LeftNonEmptyChild[T <: Exec[T], P, H, A] extends LeftNonEmpty[T, P, H] with NonEmptyChild[T, P, H, A] with LeftChild[T, P, H, A] with Writable
A common trait used in pattern matching, comprised of
Leaf
andLeftChildBranch
. - sealed trait LeftTopBranch[T <: Exec[T], P, H, A] extends LeftBranch[T, P, H, A] with TopBranch[T, P, H, A] with Disposable[T]
- sealed trait Next[+T, +P, +H, +A] extends Child[T, P, H, A]
- sealed trait NonEmpty[T <: Exec[T], P, H] extends Identified[T]
A node is an object that can be stored in a orthant of a branch.
- sealed trait NonEmptyChild[T <: Exec[T], P, H, A] extends NonEmpty[T, P, H] with Child[T, P, H, A]
An inner non empty tree element has a mutable parent node.
- sealed trait RightBranch[T <: Exec[T], P, H, A] extends Next[T, P, H, A] with Branch[T, P, H, A]
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 theprev
method. - sealed trait RightChild[+T, +P, +H, +A] extends Child[T, P, H, A]
- sealed trait RightChildBranch[T <: Exec[T], P, H, A] extends RightBranch[T, P, H, A] with ChildBranch[T, P, H, A] with RightNonEmptyChild[T, P, H, A]
- sealed trait RightNonEmptyChild[T <: Exec[T], P, H, A] extends RightChild[T, P, H, A] with NonEmptyChild[T, P, H, A] with Writable
A common trait used in pattern matching, comprised of
Leaf
andRightChildBranch
. - sealed trait RightTopBranch[T <: Exec[T], P, H, A] extends RightBranch[T, P, H, A] with TopBranch[T, P, H, A]
- sealed trait TopBranch[T <: Exec[T], P, H, A] extends Branch[T, P, H, A]
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def empty[T <: Exec[T], P, H <: HyperCube[P, H], A](hyperCube: H, skipGap: Int = 2)(implicit pointView: (A, T) => P, tx: T, space: Space[P, H], keyFormat: TFormat[T, A]): DetSkipOctree[T, P, H, A]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def format[T <: Exec[T], P, H <: HyperCube[P, H], A](implicit pointView: (A, T) => P, space: Space[P, H], keyFormat: TFormat[T, A]): TFormat[T, DetSkipOctree[T, P, H, A]]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def read[T <: Exec[T], P, H <: HyperCube[P, H], A](in: DataInput)(implicit tx: T, pointView: (A, T) => P, space: Space[P, H], keyFormat: TFormat[T, A]): DetSkipOctree[T, P, H, A]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- case object Empty extends LeftChild[Nothing, Nothing, Nothing, Nothing] with RightChild[Nothing, Nothing, Nothing, Nothing] with Next[Nothing, Nothing, Nothing, Nothing] with LeafOrEmpty[Nothing, Nothing, Nothing, Nothing] with Product with Serializable
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated