de.sciss.lucre.geom

IntCubeLike

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
QueryShape[BigInt, ThreeDim], HyperCube[ThreeDim], AnyRef, Any
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
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def cx: Int

    X coordinate of the cube's center

  2. abstract def cy: Int

    Y coordinate of the cube's center

  3. abstract def cz: Int

    Z coordinate of the cube's center

  4. abstract def extent: Int

    The extent is the half side length of the cube

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

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

    Definition Classes
    Any
  6. final def area: BigInt

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. final def back: Int

  9. final def bottom: Int

  10. def clone(): AnyRef

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

    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
  12. final def contains(point: IntSpace.ThreeDim.PointLike): Boolean

    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
  13. final def eq(arg0: AnyRef): Boolean

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

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

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

  17. final def getClass(): Class[_]

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

    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
  19. final def greatestInteresting(a: IntSpace.ThreeDim.PointLike, b: IntSpace.ThreeDim.PointLike): IntSpace.ThreeDim.HyperCube

    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
  20. def hashCode(): Int

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

    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
  22. final def indexOf(a: IntSpace.ThreeDim.PointLike): Int

    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
  23. final def isAreaGreater(a: IntSpace.ThreeDim.HyperCube, b: BigInt): Boolean

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

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

    Definition Classes
    Any
  26. final def left: Int

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

    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
  28. final def maxDistanceSq(point: IntSpace.ThreeDim.PointLike): BigInt

    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.

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

    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
  30. final def minDistanceSq(point: IntSpace.ThreeDim.PointLike): BigInt

    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

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

    Definition Classes
    AnyRef
  32. final def notify(): Unit

    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit

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

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

    Definition Classes
    IntCubeLikeQueryShape
  36. final def right: Int

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

    Definition Classes
    AnyRef
  38. def toString(): String

    Definition Classes
    AnyRef → Any
  39. final def top: Int

  40. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from QueryShape[BigInt, ThreeDim]

Inherited from HyperCube[ThreeDim]

Inherited from AnyRef

Inherited from Any

Ungrouped