BioRect2DEnvironment

A rectangular environment for cells, bounded by minX, maxX, minY, and maxY. Inconsistent bounds (a maximum not greater than its minimum) fall back to -1 and 1 for all bounds.

Inheritors

Constructors

Link copied to clipboard
constructor(incarnation: BiochemistryIncarnation, minX: Double, maxX: Double, minY: Double, maxY: Double)
constructor(incarnation: BiochemistryIncarnation)

Builds an unbounded environment.

Properties

Link copied to clipboard
Link copied to clipboard
override val dimensions: Int
Link copied to clipboard
Link copied to clipboard
open override val isTerminated: Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
override val nodeCount: Observable<Int>
Link copied to clipboard
open override val nodes: ObservableList<Node<Double>>
Link copied to clipboard
override val offset: DoubleArray
Link copied to clipboard
open override val origin: Euclidean2DPosition
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
override val size: DoubleArray
Link copied to clipboard
open override val sizeInDistanceUnits: DoubleArray

Functions

Link copied to clipboard
open override fun addLayer(molecule: Molecule, layer: Layer<Double, Euclidean2DPosition>)
Link copied to clipboard
open override fun addNode(node: Node<Double>, position: Euclidean2DPosition): Boolean
Link copied to clipboard
open override fun addReaction(reaction: Reaction<Double>)
Link copied to clipboard
Link copied to clipboard
open operator override fun contains(node: Node<Double>): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun distanceBetween(n1: Node<Double>, n2: Node<Double>): Double
Link copied to clipboard
open fun Node<Double>.distanceTo(other: Node<Double>): Double
Link copied to clipboard

The farthest position reachable by node towards desired, clamped within the limits of this environment.

Link copied to clipboard
open override fun getHeading(node: Node<Double>): Euclidean2DPosition
Link copied to clipboard
open override fun getNodesWithin(shape: Euclidean2DShape): List<Node<Double>>
Link copied to clipboard
open override fun getShape(node: Node<Double>): Euclidean2DShape
Link copied to clipboard
open override fun layerFor(molecule: Molecule): Layer<Double, Euclidean2DPosition>?
Link copied to clipboard
open fun makePosition(coordinates: List<Number>): Euclidean2DPosition
open override fun makePosition(vararg coordinates: Number): Euclidean2DPosition
Link copied to clipboard
open fun Node<Double>.moveBy(displacement: Euclidean2DPosition)
Link copied to clipboard
open fun moveNodeBy(node: Node<Double>, displacement: Euclidean2DPosition)
Link copied to clipboard
open override fun moveNodeTo(node: Node<Double>, position: Euclidean2DPosition)

Only cells move. After a cell moves, its junctions with nodes that are no longer neighbors are removed.

Link copied to clipboard
open fun Node<Double>.moveTo(position: Euclidean2DPosition)
Link copied to clipboard
Link copied to clipboard
open override fun nodesAround(position: Euclidean2DPosition, range: Double): List<Node<Double>>
open override fun nodesAround(node: Node<Double>, range: Double): List<Node<Double>>
Link copied to clipboard
Link copied to clipboard
open override fun nodeWithId(id: Int): Node<Double>
Link copied to clipboard
open override fun observeLayerValue(molecule: Molecule, node: Node<Double>): Observable<Double?>
Link copied to clipboard
open override fun observeNodesAround(position: Euclidean2DPosition, range: Double): ObservableSet<Node<Double>>
open override fun observeNodesAround(node: Node<Double>, range: Double): ObservableSet<Node<Double>>
Link copied to clipboard
Link copied to clipboard
open fun Node<Double>.remove()
open fun Reaction<Double>.remove()
Link copied to clipboard
open override fun removeNode(node: Node<Double>)
Link copied to clipboard
open override fun removeReaction(reaction: Reaction<Double>)
Link copied to clipboard
open override fun setHeading(node: Node<Double>, direction: Euclidean2DPosition)
Link copied to clipboard
Link copied to clipboard
open override fun toString(): String