Package it.unibo.alchemist.model.implementations.nodes

Nodes implementations.

Types

Link copied to clipboard
abstract class AbstractCognitivePedestrian<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, F : GeometricShapeFactory<P, A>> @JvmOverloads constructor(environment: PhysicsEnvironment<T, P, A, F>, randomGenerator: RandomGenerator, backingNode: Node<T>, age: Age, gender: Gender, danger: Molecule?, group: PedestrianGroup<T, P, A>?, cognitive: CognitiveModel?) : AbstractHeterogeneousPedestrian<T, P, A, F> , CognitivePedestrian<T, P, A>

Implementation of a cognitive pedestrian.

Link copied to clipboard
abstract class AbstractHeterogeneousPedestrian<T, P : Vector<P>, Position<P>, A : GeometricTransformation<P>, F : GeometricShapeFactory<P, A>> @JvmOverloads constructor(randomGenerator: RandomGenerator, backingNode: Node<T>, age: Age, gender: Gender, group: PedestrianGroup<T, P, A>?) : AbstractHomogeneousPedestrian<T, P, A, F> , HeterogeneousPedestrian<T, P, A>

Implementation of a heterogeneous pedestrian.

Link copied to clipboard
abstract class AbstractHomogeneousPedestrian<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, F : GeometricShapeFactory<P, A>> @JvmOverloads constructor(randomGenerator: RandomGenerator, backingNode: Node<T>, group: PedestrianGroup<T, P, A>?) : Node<T> , Pedestrian<T, P, A>

Implementation of a basic pedestrian.

Link copied to clipboard
abstract class AbstractNode<T> : Node<T>
This class realizes an abstract node.
Link copied to clipboard
abstract class AbstractOrientingPedestrian<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, L : ConvexGeometricShape<P, A>, N : ConvexGeometricShape<P, A>, E, F : GeometricShapeFactory<P, A>>(randomGenerator: RandomGenerator, environment: EnvironmentWithGraph<*, T, P, A, N, E>, backingNode: Node<T>, knowledgeDegree: Double, group: PedestrianGroup<T, P, A>?, minArea: Double) : AbstractHomogeneousPedestrian<T, P, A, F> , OrientingPedestrian<T, P, A, L, DefaultEdge>

An abstract OrientingPedestrian, contains an algorithm for the generation of a pseudo-random cognitiveMap. The creation of landmarks is left to subclasses via factory method (see createLandmarkIn).

Link copied to clipboard
open class CellNodeImpl<P : Position<P>?, Vector<P>?> : DoubleNode, CellNode<P> , CellWithCircularArea<P>
Link copied to clipboard
Link copied to clipboard
class CircularDeformableCellImpl<P : Position<P>?, Vector<P>?> : CellNodeImpl<P> , CircularDeformableCell<P>
Implementation of a circular deformable cell.
Link copied to clipboard
class CognitiveOrientingPedestrian2D<T, N : ConvexPolygon, E> @JvmOverloads constructor(randomGenerator: RandomGenerator, environment: EuclideanPhysics2DEnvironmentWithGraph<*, T, N, E>, backingNode: Node<T>, knowledgeDegree: Double, group: PedestrianGroup2D<T>?, age: Age, gender: Gender, danger: Molecule?) : HomogeneousOrientingPedestrian2D<T, N, E> , CognitivePedestrian<T, Euclidean2DPosition, Euclidean2DTransformation>

A cognitive OrientingPedestrian in the Euclidean world.

Link copied to clipboard
class CognitiveOrientingPhysicalPedestrian2D<T, N : ConvexPolygon, E> @JvmOverloads constructor(incarnation: Incarnation<T, Euclidean2DPosition>, randomGenerator: RandomGenerator, environment: EuclideanPhysics2DEnvironmentWithGraph<*, T, N, E>, nodeCreationParameter: String?, knowledgeDegree: Double, group: PedestrianGroup2D<T>?, age: String, gender: String, danger: Molecule?) : CognitivePhysicalPedestrian2D<T> , OrientingPedestrian<T, Euclidean2DPosition, Euclidean2DTransformation, Ellipse, DefaultEdge>

A cognitive OrientingPedestrian2D capable of physical interactions. TODO(rename it into something like "SmartPedestrian2D"?)

Link copied to clipboard
open class CognitivePedestrian2D<T>(randomGenerator: RandomGenerator, environment: Physics2DEnvironment<T>, backingNode: Node<T>, age: Age, gender: Gender, danger: Molecule?, group: PedestrianGroup2D<T>?) : AbstractCognitivePedestrian<T, Euclidean2DPosition, Euclidean2DTransformation, Euclidean2DShapeFactory> , Pedestrian2D<T>

Implementation of a cognitive pedestrian in the Euclidean world.

Link copied to clipboard
open class CognitivePhysicalPedestrian2D<T> @JvmOverloads constructor(incarnation: Incarnation<T, Euclidean2DPosition>, randomGenerator: RandomGenerator, environment: Physics2DEnvironment<T>, nodeCreationParameter: String?, age: String, gender: String, danger: Molecule?, group: PedestrianGroup2D<T>?) : CognitivePedestrian2D<T> , PhysicalPedestrian2D<T>

A cognitive pedestrian capable of physical interactions, modeled as a PhysicalPedestrian2D. comfortRay changes dynamically depending on whether the pedestrian wants to evacuate or not.

Link copied to clipboard
open class DoubleNode : AbstractNode<Double>
Link copied to clipboard
class EnvironmentNodeImpl : DoubleNode, EnvironmentNode
Link copied to clipboard
class HeterogeneousPedestrian2D<T> @JvmOverloads constructor(incarnation: Incarnation<T, Euclidean2DPosition>, randomGenerator: RandomGenerator, environment: Physics2DEnvironment<T>, age: Any, gender: String, group: PedestrianGroup2D<T>?, nodeCreationParameter: String?) : AbstractHeterogeneousPedestrian<T, Euclidean2DPosition, Euclidean2DTransformation, Euclidean2DShapeFactory> , Pedestrian2D<T>

A pedestrian with heterogeneous characteristics. Requires a bidimensional environment with support for physics (Physics2DEnvironment).

Link copied to clipboard
open class HomogeneousOrientingPedestrian2D<T, N : ConvexPolygon, E> @JvmOverloads constructor(randomGenerator: RandomGenerator, environment: EuclideanPhysics2DEnvironmentWithGraph<*, T, N, E>, backingNode: Node<T>, knowledgeDegree: Double, minSide: Double, maxSide: Double, group: PedestrianGroup2D<T>?) : AbstractOrientingPedestrian<T, Position2D, Transformation2D, Ellipse, N, E, ShapeFactory> , Pedestrian2D<T>

A homogeneous OrientingPedestrian in the Euclidean world. Landmarks are represented as Ellipses, which can model the human error concerning both the exact position of a landmark and the angles formed by the connections between them. This class accepts an environment whose graph contains ConvexPolygonal nodes.

Link copied to clipboard
class HomogeneousOrientingPhysicalPedestrian2D<T, N : ConvexPolygon, E> @JvmOverloads constructor(incarnation: Incarnation<T, Euclidean2DPosition>, randomGenerator: RandomGenerator, environment: EuclideanPhysics2DEnvironmentWithGraph<*, T, N, E>, nodeCreationParameter: String?, knowledgeDegree: Double, group: PedestrianGroup2D<T>?) : HomogeneousPhysicalPedestrian2D<T> , OrientingPedestrian<T, Euclidean2DPosition, Euclidean2DTransformation, Ellipse, DefaultEdge>

A homogeneous OrientingPedestrian2D capable of physical interactions.

Link copied to clipboard
open class HomogeneousPedestrian2D<T> @JvmOverloads constructor(randomGenerator: RandomGenerator, environment: Physics2DEnvironment<T>, backingNode: Node<T>, group: PedestrianGroup2D<T>?) : AbstractHomogeneousPedestrian<T, Euclidean2DPosition, Euclidean2DTransformation, Euclidean2DShapeFactory> , Pedestrian2D<T>

Implementation of a homogeneous pedestrian in the Euclidean world.

Link copied to clipboard
open class HomogeneousPhysicalPedestrian2D<T> @JvmOverloads constructor(incarnation: Incarnation<T, Euclidean2DPosition>, randomGenerator: RandomGenerator, environment: Physics2DEnvironment<T>, nodeCreationParameter: String?, group: PedestrianGroup2D<T>?) : HomogeneousPedestrian2D<T> , PhysicalPedestrian2D<T>

A homogeneous pedestrian capable of physical interactions, modeled as a PhysicalPedestrian2D. comfortRay is statically defined to be equal to its shape radius.

Link copied to clipboard
abstract class IntegerNode : AbstractNode<Integer>
Link copied to clipboard
open class IntNode(env: Environment<*, *>) : AbstractNode<Int>

An integer node.

Link copied to clipboard
class LsaNode : AbstractNode<List<ILsaMolecule>> , ILsaNode
This class realizes a node with LSA concentration.
Link copied to clipboard
class ProtelisNode<P : Position<out P>?> : AbstractNode<Any> , DeviceUID, ExecutionEnvironment