GenericBuilding

case class GenericBuilding(position: Point2D, infectionProbability: Double, capacity: Int, permanenceTimeDistribution: GaussianDurationTime, entranceStrategy: EntranceStrategy, entities: Set[EntityPermanence], isOpen: Boolean, visibilityDistance: Distance, group: String) extends SimulationStructure with Closable with Visible with Groupable

Builder for the GenericBuilding type of structure.

Value parameters:
capacity

the capacity of the structure in terms of the number of entities that can enter

entities

the entities that are inside the structure.

entranceStrategy

the strategy used for discriminate the entities entrance

group

the group of the structure

infectionProbability

the probability of infection inside the structure

isOpen

opening status of the structure

permanenceTimeDistribution

gaussian distribution that describe the permanence time

position

the position of the building

visibilityDistance

the distance within the structure is visible for an entity

trait Serializable
trait Product
trait Equals
trait Groupable
trait Visible
trait Closable
trait Structure
class Object
trait Matchable
class Any

Type members

Types

override type Group = String

Inherited types

Inherited from:
SimulationStructure
override type Position = Point2D
Inherited from:
SimulationStructure
override type Probability = Double
Inherited from:
SimulationStructure
override type SimulationTime = TimeStamp
Inherited from:
SimulationStructure

Value members

Concrete methods

Inherited methods

protected def checkEnter(entity: BaseEntity): Boolean
Inherited from:
Closable

Method that allows an entity to exit from the structure. This method WILL NOT handle the entity position, but it will only remove the entity from internal structures.

Method that allows an entity to exit from the structure. This method WILL NOT handle the entity position, but it will only remove the entity from internal structures.

Value parameters:
entity

the entity that need to exit

Returns:

The modified instance of the structure without the entity inside

Inherited from:
Structure
override protected def notEntered(entity: SimulationEntity, timeStamp: TimeStamp): SimulationStructure
Definition Classes
Inherited from:
SimulationStructure
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product

Method that allows an entity to try to enter inside the structure. Note that an entity could not be allowed to enter based on the characteristics of the structure.

Method that allows an entity to try to enter inside the structure. Note that an entity could not be allowed to enter based on the characteristics of the structure.

Value parameters:
entity

the entity that wants to enter

Returns:

The modified instance of the structure if entered

Inherited from:
Structure