LsaCountNeighborsAction

class LsaCountNeighborsAction(environment: Environment<List<ILsaMolecule>, *>, reaction: NodeReaction<List<ILsaMolecule>>, moleculeToCount: ILsaMolecule, countVariable: HashString, randomGenerator: RandomGenerator) : AbstractSAPEREAgent

Counts the neighbors containing in their LSA space a molecule matching moleculeToCount, and adds the result to the matches as the variable countVariable. The execution has no effect on the set of influenced molecules of the reaction. The randomGenerator is unused.

Constructors

Link copied to clipboard
constructor(environment: Environment<List<ILsaMolecule>, *>, reaction: NodeReaction<List<ILsaMolecule>>, moleculeToCount: ILsaMolecule, countVariable: HashString, randomGenerator: RandomGenerator)
constructor(environment: Environment<List<ILsaMolecule>, *>, reaction: NodeReaction<List<ILsaMolecule>>, moleculeToCount: ILsaMolecule, countVariable: String, randomGenerator: RandomGenerator)

Builds the action with the name of the counting variable as String.

Properties

Link copied to clipboard

The node hosting this action, as an ILsaNode.

Link copied to clipboard

The NodeReaction owning this action, hosted by targetNode.

Link copied to clipboard

Functions

Link copied to clipboard
override fun cloneAction(newReaction: Reaction<List<ILsaMolecule>>): Action<List<ILsaMolecule>>

Creates an equivalent action owned by newReaction, such as a reaction cloned onto a new node. An action targeting the host of its reaction targets the host of newReaction, which must then be a Node; an action targeting any other node keeps its target.

Link copied to clipboard
open override fun execute()

Applies this action to the model.

Link copied to clipboard
open override fun setExecutionContext(matches: MutableMap<HashString, ITreeNode<*>>?, nodes: MutableList<ILsaNode>?)

Sets the context in which this action will execute.

Link copied to clipboard
infix fun Action<*>.shouldEqual(other: Action<*>)
Link copied to clipboard
open override fun toString(): String