Class InfectionField

java.lang.Object
epidemic.model.InfectionField

public class InfectionField extends Object
Reprezentuje stacjonarną chmurę zakaźnego aerozolu (miasmę) pozostawioną w środowisku przez przechodzącego nosiciela patogenu. Posiada niezależny cykl życia – z każdą epoką traci na sile (rozprasza się) aż do całkowitego zaniku i usunięcia z mapy.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private double
     
    private final Point2D
     
    private int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    InfectionField(Point2D position, double initialInfectivity)
    Tworzy nową, aktywną strefę skażenia.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Symuluje fizyczne rozpraszanie się wirusa w środowisku.
    double
    Pobiera obecne stężenie patogenu w strefie.
    Pobiera aktualne koordynaty strefy zakaźnej.
    boolean
    Weryfikuje kryteria dopuszczające usunięcie chmury z przestrzeni mapy.
    void
    refresh(double newInfectivity)
    Ponownie aktywuje strefę skażenia, wydłużając jej żywotność i potencjalnie zwiększając jej stężenie (np.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • position

      private final Point2D position
    • remainingEpochs

      private int remainingEpochs
    • infectivity

      private double infectivity
  • Constructor Details

    • InfectionField

      public InfectionField(Point2D position, double initialInfectivity)
      Tworzy nową, aktywną strefę skażenia. Czas jej wygaśnięcia ustalany jest na podstawie bazowej konfiguracji środowiska.
      Parameters:
      position - Punkt centralny chmury (zazwyczaj zgodny z węzłem siatki przestrzennej).
      initialInfectivity - Początkowa, maksymalna siła zakaźna aerozolu w momencie powstania.
  • Method Details

    • refresh

      public void refresh(double newInfectivity)
      Ponownie aktywuje strefę skażenia, wydłużając jej żywotność i potencjalnie zwiększając jej stężenie (np. na skutek ponownego wejścia zarażonego agenta na dany obszar). Resetuje licznik czasu życia i zachowuje wyższą siłę infekcji z dostępnych.
      Parameters:
      newInfectivity - Siła zakaźna wniesiona przez nowe źródło.
    • decay

      public void decay()
      Symuluje fizyczne rozpraszanie się wirusa w środowisku. Wywoływana cyklicznie co epokę, skraca licznik życia chmury i geometrycznie redukuje jej siłę zakaźną o współczynnik utraty zdefiniowany w konfiguracji.
    • isExpired

      public boolean isExpired()
      Weryfikuje kryteria dopuszczające usunięcie chmury z przestrzeni mapy.
      Returns:
      true, jeśli czas życia dobiegł końca lub siła zakaźna spadła poniżej minimalnego, bezpiecznego progu zdefiniowanego w konfiguracji.
    • getPosition

      public Point2D getPosition()
      Pobiera aktualne koordynaty strefy zakaźnej.
      Returns:
      Wektor położenia chmury.
    • getInfectivity

      public double getInfectivity()
      Pobiera obecne stężenie patogenu w strefie.
      Returns:
      Ułamek określający siłę zakaźną w danym kroku symulacji.