jrobots.utils
Class Scan

java.lang.Object
  extended by jrobots.utils.Scan
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class Scan
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Diese Klasse repräsentiert einen einzelnen Scanvorgang. Sie speichert folgende Daten:

Die Klasse dient im Wesentlichen dazu, vergangene Scanwerte einheitlich speichern zu können.

See Also:
Serialized Form

Field Summary
 double distanceToTarget
          Entfernung zum Ziel [Meter].
 Angle scanAperture
          Öffnungswinkel des Scanners zum Zeitpunkt des Scans
 Angle scanDirection
          Richtung des Scanners zum Zeitpunkt des Scans
 Vector scannerPosition
          Position des Scanners zum Zeitpunkt des Scans
 double timeOfScan
          Zeitpunkt des Scans [Sekunden]
 
Constructor Summary
Scan(Angle scanDirection, Angle scanAperture, double distanceToTarget, Vector scannerPosition, double timeOfScan)
          Initializes all final fields.
 
Method Summary
 Vector estimatedTargetPosition()
          Diese Methode schätzt grob die Position des gescannten Zieles: Es wird angenommen, dass sich das Ziel genau in der Mitte des Scanstrahles befunden hat.
 double getArcLength()
          Diese Methode liefert die Länge [Meter] des Bogens, auf dem sich das gescannte Ziel befindet.
 boolean isTargetLocated()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

distanceToTarget

public final double distanceToTarget
Entfernung zum Ziel [Meter].

Falls kein anderer Bot im Scanbogen war, ist dieser Wert 0.


scanAperture

public final Angle scanAperture
Öffnungswinkel des Scanners zum Zeitpunkt des Scans


scanDirection

public final Angle scanDirection
Richtung des Scanners zum Zeitpunkt des Scans


scannerPosition

public final Vector scannerPosition
Position des Scanners zum Zeitpunkt des Scans


timeOfScan

public final double timeOfScan
Zeitpunkt des Scans [Sekunden]

Constructor Detail

Scan

public Scan(Angle scanDirection,
            Angle scanAperture,
            double distanceToTarget,
            Vector scannerPosition,
            double timeOfScan)
Initializes all final fields. Does nothing else.

Parameters:
scanDirection -
scanAperture -
distanceToTarget -
scannerPosition -
timeOfScan -
Method Detail

estimatedTargetPosition

public Vector estimatedTargetPosition()
Diese Methode schätzt grob die Position des gescannten Zieles: Es wird angenommen, dass sich das Ziel genau in der Mitte des Scanstrahles befunden hat.

Returns:
scannerPosition.add(new Vector(scanDirection, distanceToTarget))

getArcLength

public double getArcLength()
Diese Methode liefert die Länge [Meter] des Bogens, auf dem sich das gescannte Ziel befindet. Dieser Wert ist direkt proportional zum Öffnungswinkel des Scanners.
Man kann sagen: Je größer der Bogen ist, desto ungenauer/wertloser ist der Scan.

Returns:
scanAperture.getValueAsRadians() * distanceToTarget

isTargetLocated

public boolean isTargetLocated()