edu.bonn.xulu.plugin.data.misc
Class CAArea

java.lang.Object
  extended by edu.bonn.xulu.plugin.data.misc.CAArea
Direct Known Subclasses:
CASettlementArea

public abstract class CAArea
extends Object

Dieser Datentyp stellt eine Region (z.B. Siedlung) in einem multiplen zellularen Automaten dar. Eine CAArea hat folgende Eigenschaften:

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Field Summary
protected  Vector<Point> border
          Speichert die Randzellen der Region.
protected  double cover
          Speichert die aktuelle Flaeche (in qm), die der CA der Area zugewiesen hat.
protected  boolean deadlock
          Flag, ob sich die Area in einem Deadlock befindet.
protected  String name
          Speichert den Namen der Area.
protected  Point2D startLoc
          Speichert die Start-Position der Area.
 
Constructor Summary
CAArea()
          Erzeugt eine neue Area.
CAArea(String name, double x, double y)
          Erzeugt eine neue Area.
 
Method Summary
 void decCurrentCover(double value)
          Reduziert die Flaeche, die der Area aktuell zugeordnet ist.
 Vector<Point> getBorder()
          Liefert die Liste der Randpunkte der Area.
 double getCurrentCover()
          Liefert die aktuelle qm-Flaeche, die der Area zugeordnet ist.
 String getName()
          Liefert den Namen der Area.
 Point2D getStartLocation()
          Liefert die Startkoordinaten der Area.
 void incCurrentCover(double value)
          Erhoeht die Flaeche, die der Area aktuell zugeordnet ist.
 void init()
          Initialisiert die Area, in dem die aktuelle Flaeche und die Liste der Randzellen zurueckgesetzt werden.
 boolean isDeadlock()
          Checkt, ob sich der CA fuer diese Area in einem Deadlock befindet.
abstract  boolean isDemandSatisfied(int step)
          Prueft, ob die aktuell belegte Flaeche den Bedarf deckt.
 void setDeadlock(boolean deadlock)
          Setzt ein Flag, dass sich diese Area in einem Deadlock befindet.
 void setName(String name)
          Setzt den Namen der Area.
 void setStartLocation(Point2D loc)
          Setzt die Startkoordinaten der Area.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected String name
Speichert den Namen der Area.


startLoc

protected Point2D startLoc
Speichert die Start-Position der Area.


cover

protected double cover
Speichert die aktuelle Flaeche (in qm), die der CA der Area zugewiesen hat.


border

protected Vector<Point> border
Speichert die Randzellen der Region.


deadlock

protected boolean deadlock
Flag, ob sich die Area in einem Deadlock befindet.

Constructor Detail

CAArea

public CAArea()
Erzeugt eine neue Area.


CAArea

public CAArea(String name,
              double x,
              double y)
Erzeugt eine neue Area.

Parameters:
name - Name der Area
x - X-Koodinate (Longitude)
y - Y-Koodinate (Latitude)
Method Detail

init

public void init()
Initialisiert die Area, in dem die aktuelle Flaeche und die Liste der Randzellen zurueckgesetzt werden.


getName

public String getName()
Liefert den Namen der Area.


setName

public void setName(String name)
Setzt den Namen der Area.

Parameters:
name - neuer Name

getStartLocation

public Point2D getStartLocation()
Liefert die Startkoordinaten der Area.

Returns:
loc Lat/Lon-Georeferenz

setStartLocation

public void setStartLocation(Point2D loc)
Setzt die Startkoordinaten der Area.

Parameters:
loc - Lat/Lon-Georeferenz

getCurrentCover

public double getCurrentCover()
Liefert die aktuelle qm-Flaeche, die der Area zugeordnet ist.


incCurrentCover

public void incCurrentCover(double value)
Erhoeht die Flaeche, die der Area aktuell zugeordnet ist. Wird vom CA verwendet.

Parameters:
value - Wert um den Gesamt-Flaeche erhoeht wird (in qm)

decCurrentCover

public void decCurrentCover(double value)
Reduziert die Flaeche, die der Area aktuell zugeordnet ist. Wird vom CA verwendet.

Parameters:
value - Wert um den Gesamt-Flaeche reduziert wird (in qm)

getBorder

public Vector<Point> getBorder()
Liefert die Liste der Randpunkte der Area. Wird vom CA verwaltet und durch init() initialisiert.


isDeadlock

public boolean isDeadlock()
Checkt, ob sich der CA fuer diese Area in einem Deadlock befindet.


setDeadlock

public void setDeadlock(boolean deadlock)
Setzt ein Flag, dass sich diese Area in einem Deadlock befindet.

Parameters:
deadlock - true wenn der CA fuer diese Area nicht mehr weiter expandieren kann

isDemandSatisfied

public abstract boolean isDemandSatisfied(int step)
Prueft, ob die aktuell belegte Flaeche den Bedarf deckt.

Parameters:
step - Schrittnummer (beginnend bei 0!)