angleMeasurement
Class AngleMeasurement

java.lang.Object
  extended by angleMeasurement.AngleMeasurement
All Implemented Interfaces:
PamSettings
Direct Known Subclasses:
FluxgateWorldAngles

public abstract class AngleMeasurement
extends java.lang.Object
implements PamSettings


Field Summary
private  AngleCalibration angleCalibration
           
private  AngleParameters angleParameters
           
private  java.util.ArrayList<AngleMeasurementListener> measurementListeners
           
private  java.lang.String name
           
 
Constructor Summary
AngleMeasurement(java.lang.String name)
           
 
Method Summary
 void addMeasurementListener(AngleMeasurementListener angleMeasurementListener)
           
 double getAngleOffset()
           
 AngleParameters getAngleParameters()
           
 java.lang.Double getCalibratedAngle()
           
 double getCalibratedAngle(double rawAngle)
          Converts a raw angle into a calibrated angle.
abstract  java.lang.Double getCorrectedAngle()
           
 java.lang.String getName()
           
abstract  java.lang.Double getRawAngle()
           
 java.lang.String getUnitName()
           
 java.lang.String getUnitType()
           
protected  void notifyAngleMeasurementListeners()
           
 void removeMeasurementListener(AngleMeasurementListener angleMeasurementListener)
           
 void setAngleOffset(double angleOffset)
           
 void setAngleParameters(AngleParameters angleParameters)
           
 void setCalibrationData(double[] calibrationData)
           
 void setName(java.lang.String name)
           
abstract  boolean settings(java.awt.Frame parentFrame)
           
 void setupCalibration()
          Sets up the angle calibration.
abstract  void setZero()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface PamController.PamSettings
getSettingsReference, getSettingsVersion, restoreSettings
 

Field Detail

name

private java.lang.String name

angleParameters

private AngleParameters angleParameters

measurementListeners

private java.util.ArrayList<AngleMeasurementListener> measurementListeners

angleCalibration

private AngleCalibration angleCalibration
Constructor Detail

AngleMeasurement

public AngleMeasurement(java.lang.String name)
Method Detail

getRawAngle

public abstract java.lang.Double getRawAngle()

getCalibratedAngle

public java.lang.Double getCalibratedAngle()

getCorrectedAngle

public abstract java.lang.Double getCorrectedAngle()

setZero

public abstract void setZero()

settings

public abstract boolean settings(java.awt.Frame parentFrame)

getAngleOffset

public double getAngleOffset()

setAngleOffset

public void setAngleOffset(double angleOffset)

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

getUnitName

public java.lang.String getUnitName()
Specified by:
getUnitName in interface PamSettings
Returns:
A Name specific to this instance of the particular class, e.g. Sperm whale detector, Beaked whale detector, etc.

getUnitType

public java.lang.String getUnitType()
Specified by:
getUnitType in interface PamSettings
Returns:
A Name specific to the type, e.g. Glick detector

getAngleParameters

public AngleParameters getAngleParameters()

setAngleParameters

public void setAngleParameters(AngleParameters angleParameters)

addMeasurementListener

public void addMeasurementListener(AngleMeasurementListener angleMeasurementListener)

removeMeasurementListener

public void removeMeasurementListener(AngleMeasurementListener angleMeasurementListener)

notifyAngleMeasurementListeners

protected void notifyAngleMeasurementListeners()

setCalibrationData

public void setCalibrationData(double[] calibrationData)

setupCalibration

public void setupCalibration()
Sets up the angle calibration. Most angle measurement devices wil just use it as is, but some may be able to extract the data from it and upload them to the external device.


getCalibratedAngle

public double getCalibratedAngle(double rawAngle)
Converts a raw angle into a calibrated angle.
Most angle measurement devices wil just use it as is, but some may be able to extract the data from it and upload them to the external device, in which case developer will probably want to override this function so that it doesn't do anything (just returns the rawAngle)

Parameters:
rawAngle - uncalibrated angle
Returns:
calibrated angle