package edu.agh.tunev.model;

import java.awt.geom.Point2D;

/**
 * Ta klasa reprezentuje osobę: jej cechy niezależne od modelu, cechy które (w
 * przyszłości) możemy wybrać w UI dodając osoby.
 * 
 * Wszystkie cechy "osobnicze", które mają sens poza konkretnym modelem, powinny
 * być dodane do AbstractPerson. Przykład:
 * 
 * Do <code>AbstractPerson</code>: wiek, rasa, orientacja, religious views
 * 
 * Do <code>Person extends AbstractPerson</code>: informacja o tym co osoba
 * sądzi nt. konkretnych pól automatu komórkowego
 */
public abstract class AbstractPerson {

	protected Point2D.Double position;

	/** Szerokość osoby (OX) [m] */
	protected double width = 0.5;

	/** Grubość osoby (OY) [m] */
	protected double girth = 0.3;

	/** Wysokość osoby (OZ) [m] */
	protected double height = 1.7;

	public AbstractPerson(Point2D.Double position) {
		this.position = position;
	}
	
	public Point2D.Double getPosition() {
		return position;
	}
	
	public void setPosition(Point2D.Double position) {
		this.position = position;
	}

	public double getWidth() {
		return width;
	}

	public double getGirth() {
		return girth;
	}

	public double getHeight() {
		return height;
	}

}

@@ -568,16 +568,43 @@
 rson %7B%0A%0A
+%09/** Wsp%C3%B3%C5%82rz%C4%99dne osoby. */%0A
 %09protect
@@ -630,16 +630,254 @@
 osition;
+%09%0A%09/** K%C4%85t patrzenia w %5Bdeg%5D (k%C4%85t 0 to zwrot i kierunek OX). */%0A%09protected double orientation = 0;%0A%09/** Rodzaj ruchu. */%0A%09protected Movement movement = Movement.STANDING;%0A%09%0A%09public static enum Movement %7B%0A%09%09STANDING, SQUATTING, CRAWLING%0A%09%7D
 %0A%0A%09/** S
@@ -1253,32 +1253,32 @@
 ble position) %7B%0A
-
 %09%09this.position 
@@ -1289,24 +1289,306 @@
 sition;%0A%09%7D%0A%0A
+%09public double getOrientation() %7B%0A%09%09return orientation;%0A%09%7D%0A%0A%09public void setOrientation(double orientation) %7B%0A%09%09this.orientation = orientation;%0A%09%7D%0A%0A%09public Movement getMovement() %7B%0A%09%09return movement;%0A%09%7D%0A%0A%09public void setMovement(Movement movement) %7B%0A%09%09this.movement = movement;%0A%09%7D%0A%0A
 %09public doub

Add orientation and movement type to AbstractPerson