Trait

de.sciss.lucre.geom

IntCubeLike

Related Doc: package geom

Permalink

trait IntCubeLike extends HyperCube[ThreeDim] with QueryShape[BigInt, ThreeDim]

A three dimensional cube.

Wikipedia: "Usually, the octant with all three positive coordinates is referred to as the first octant. There is no generally used naming convention for the other seven octants."

However the article suggests (given that we count from zero): - 0 (binary 000) - top-front-left - 1 (binary 001) - top-back-right - 2 (binary 010) - top-back-left - 3 (binary 011) - top-front-left - 4 (binary 100) - bottom-front-left - 5 (binary 101) - bottom-back-left - 6 (binary 110) - bottom-back-right - 7 (binary 111) - bottom-front-right

Obviously there is no clear connection between the orientation and the binary representation. We thus prefer to chose the the octants numbering in a binary fashion, assigning bit 0 to the x-axis, bit 1 to the y-axis, and bit 2 to the z-axis, where top-front-left is 000, hence:

- 0 (binary 000) - left-top-front - 1 (binary 001) - right-top-front - 2 (binary 010) - left-bottom-front - 3 (binary 011) - right-bottom-front - 4 (binary 100) - left-top-back - 5 (binary 101) - right-top-back - 6 (binary 110) - left-bottom-back - 7 (binary 111) - right-bottom-back

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IntCubeLike
  2. QueryShape
  3. HyperCube
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def cx: Int

    Permalink

    X coordinate of the cube's center

  2. abstract def cy: Int

    Permalink

    Y coordinate of the cube's center

  3. abstract def cz: Int

    Permalink

    Z coordinate of the cube's center

  4. abstract def extent: Int

    Permalink

    The extent is the half side length of the cube

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 ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def area: BigInt

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. final def back: Int

    Permalink
  7. final def bottom: Int

    Permalink
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. final def contains(cube: IntSpace.ThreeDim.HyperCube): Boolean

    Permalink

    Checks whether a given hyper-cube is fully contained in this hyper-cube.

    Checks whether a given hyper-cube is fully contained in this hyper-cube. This is also the case if their bounds full match.

    Definition Classes
    IntCubeLikeHyperCube
  10. final def contains(point: IntSpace.ThreeDim.PointLike): Boolean

    Permalink

    Queries the overlap of this shape with a given IntPoint2D p.

    Queries the overlap of this shape with a given IntPoint2D p. The point is considered to have a side length of 1!

    returns

    true if this shape contains or partly overlaps the given point

    Definition Classes
    IntCubeLikeQueryShapeHyperCube
  11. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def front: Int

    Permalink
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def greatestInteresting(a: IntSpace.ThreeDim.HyperCube, b: IntSpace.ThreeDim.PointLike): IntSpace.ThreeDim.HyperCube

    Permalink

    Calculates the greatest interesting hyper-cube inside this hyper-cube which contains both hyper-cube a and point b, and they occupy distinct orthants.

    Calculates the greatest interesting hyper-cube inside this hyper-cube which contains both hyper-cube a and point b, and they occupy distinct orthants.

    Definition Classes
    IntCubeLikeHyperCube
  17. final def greatestInteresting(a: IntSpace.ThreeDim.PointLike, b: IntSpace.ThreeDim.PointLike): IntSpace.ThreeDim.HyperCube

    Permalink

    Calculates the greatest interesting hyper-cube inside this hyper-cube which contains both points a and b, and they occupy distinct orthants.

    Calculates the greatest interesting hyper-cube inside this hyper-cube which contains both points a and b, and they occupy distinct orthants.

    Definition Classes
    IntCubeLikeHyperCube
  18. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def indexOf(b: IntSpace.ThreeDim.HyperCube): Int

    Permalink

    Determines the orthant index of another internal hyper-cube inner.

    Determines the orthant index of another internal hyper-cube inner.

    returns

    the index of the orthant (beginning at 0), or -1 if inner lies outside of this hyper-cube.

    Definition Classes
    IntCubeLikeHyperCube
  20. final def indexOf(a: IntSpace.ThreeDim.PointLike): Int

    Permalink

    Determines the orthant index of a point point.

    Determines the orthant index of a point point.

    returns

    the index of the orthant (beginning at 0), or -1 if point lies outside of this hyper-cube.

    Definition Classes
    IntCubeLikeHyperCube
  21. final def isAreaGreater(a: IntSpace.ThreeDim.HyperCube, b: BigInt): Boolean

    Permalink
    Definition Classes
    IntCubeLikeQueryShape
  22. final def isAreaNonEmpty(area: BigInt): Boolean

    Permalink
    Definition Classes
    IntCubeLikeQueryShape
  23. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  24. final def left: Int

    Permalink
  25. final def maxDistance(point: IntSpace.ThreeDim.PointLike): Double

    Permalink

    Calculates the maximum distance to a point in the euclidean metric.

    Calculates the maximum distance to a point in the euclidean metric. This calls maxDistanceSq and then takes the square root.

    Definition Classes
    IntCubeLikeHyperCube
  26. final def maxDistanceSq(point: IntSpace.ThreeDim.PointLike): BigInt

    Permalink

    Calculates the maximum squared euclidean distance to a point in the euclidean metric.

    Calculates the maximum squared euclidean distance to a point in the euclidean metric. This is the distance (squared) to the corner which is the furthest from the point, no matter if it lies within the hyper-cube or not.

  27. final def minDistance(point: IntSpace.ThreeDim.PointLike): Double

    Permalink

    Calculates the minimum distance to a point in the euclidean metric.

    Calculates the minimum distance to a point in the euclidean metric. This calls minDistanceSq and then takes the square root.

    Definition Classes
    IntCubeLikeHyperCube
  28. final def minDistanceSq(point: IntSpace.ThreeDim.PointLike): BigInt

    Permalink

    The squared (euclidean) distance of the closest of the cube's corners or sides to the point, if the point is outside the cube, or zero, if the point is contained

  29. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  32. final def orthant(idx: Int): IntSpace.ThreeDim.HyperCube

    Permalink
    Definition Classes
    IntCubeLikeHyperCube
  33. final def overlapArea(b: IntSpace.ThreeDim.HyperCube): BigInt

    Permalink
    Definition Classes
    IntCubeLikeQueryShape
  34. final def right: Int

    Permalink
  35. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  37. final def top: Int

    Permalink
  38. final def wait(): Unit

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

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

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

Inherited from QueryShape[BigInt, ThreeDim]

Inherited from HyperCube[ThreeDim]

Inherited from AnyRef

Inherited from Any

Ungrouped