class HorizCylinder extends Topology with XBlocks with YWraps
- Source
- HorizCylinder.scala
- Alphabetic
- By Inheritance
- HorizCylinder
- YWraps
- XBlocks
- Topology
- Neighbors
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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( ... ) @native() @IntrinsicCandidate()
-
def
diffuse(amount: Double, vn: Int): Unit
- Definition Classes
- Topology
- Annotations
- @throws( classOf[AgentException] ) @throws( classOf[PatchException] )
-
def
diffuse4(amount: Double, vn: Int): Unit
- Definition Classes
- Topology
- Annotations
- @throws( classOf[AgentException] ) @throws( classOf[PatchException] )
-
def
diffuseCenter(amount: Double, vn: Int, fourWay: Boolean, scratch: Array[Array[Double]]): Unit
- Attributes
- protected
- Definition Classes
- Topology
-
def
diffuseCorners(amount: Double, vn: Int, fourWay: Boolean, scratch: Array[Array[Double]]): Unit
- Attributes
- protected
- Definition Classes
- HorizCylinder → Topology
- def diffuseXBorder(amount: Double, vn: Int, fourWay: Boolean, scratch: Array[Array[Double]]): Unit
- def diffuseYBorder(amount: Double, vn: Int, fourWay: Boolean, scratch: Array[Array[Double]]): Unit
-
def
distanceWrap(dx: Double, dy: Double, x1: Double, y1: Double, x2: Double, y2: Double): Double
- Definition Classes
- HorizCylinder → Topology
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
followOffsetX: Double
- Definition Classes
- HorizCylinder → Topology
-
def
followOffsetY: Double
- Definition Classes
- Topology
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
getNeighbors(source: Patch): IndexedAgentSet
- Definition Classes
- Neighbors
-
def
getNeighbors4(source: Patch): IndexedAgentSet
- Definition Classes
- Neighbors
-
def
getPE(source: Patch): Patch
- Definition Classes
- HorizCylinder → Neighbors
-
def
getPN(source: Patch): Patch
- Definition Classes
- HorizCylinder → Neighbors
-
def
getPNE(source: Patch): Patch
- Definition Classes
- HorizCylinder → Neighbors
-
def
getPNW(source: Patch): Patch
- Definition Classes
- HorizCylinder → Neighbors
-
def
getPS(source: Patch): Patch
- Definition Classes
- HorizCylinder → Neighbors
-
def
getPSE(source: Patch): Patch
- Definition Classes
- HorizCylinder → Neighbors
-
def
getPSW(source: Patch): Patch
- Definition Classes
- HorizCylinder → Neighbors
-
def
getPW(source: Patch): Patch
- Definition Classes
- HorizCylinder → Neighbors
-
def
getPatchScratch(vn: Int): Array[Array[Double]]
- Attributes
- protected
- Definition Classes
- Topology
-
def
getRegion(initialX: Int, initialY: Int, initialR: Int): ArrayList[(Int, Int)]
- Definition Classes
- Topology
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
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() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
def
shortestPathX(x1: Double, x2: Double): Double
- Definition Classes
- HorizCylinder → Topology
-
def
shortestPathY(y1: Double, y2: Double): Double
- Definition Classes
- HorizCylinder → Topology
-
final
def
sum4(a: Double, b: Double, c: Double, d: Double): Double
This method returns a consistent sum of the four numbers regardless of their order.
This method returns a consistent sum of the four numbers regardless of their order.
Floating point addition is commutative but NOT associative. Hence, the sum of a set of numbers will change depending on their order. This procedure fixes that by summing the numbers as: (2 lowest) + (2 highest). The naive fix to this problem is to sort the numbers before summing. However, this is slow and unnecessary. Instead, we split the numbers into two groups, such that each group contains either the two highest or the two lowest numbers (though we don't necessarily know which group is which). We then sum each group separately, and then sum their sums. This works because we can rely on the commutativity of floats. -- BCH 10/15/2017
- Attributes
- protected
- Definition Classes
- Topology
- Annotations
- @inline()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
towardsWrap(headingX: Double, headingY: Double): Double
- Definition Classes
- HorizCylinder → Topology
-
final
def
updatePatch(amount: Double, vn: Int, directions: Int, x: Int, y: Int, oldVal: Double, sum: Double): Unit
- Attributes
- protected
- Definition Classes
- Topology
- Annotations
- @inline()
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
val
world: World
- Definition Classes
- Topology
-
def
wrapX(x: Double): Double
- Definition Classes
- HorizCylinder → Topology
- Annotations
- @throws( classOf[AgentException] )
-
def
wrapY(y: Double): Double
- Definition Classes
- HorizCylinder → YWraps → Topology
- val xWraps: Boolean
- val yWraps: Boolean