public class MasterLocator extends HydrophoneLocator implements java.io.Serializable, java.lang.Cloneable
ANGLE_RE_ARRAY, ANGLE_RE_NORTH, ANGLE_RE_SHIP
Constructor and Description |
---|
MasterLocator(PamArray pamArray)
Individual locators will not be serialised.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Double |
getArrayHeading(GpsData gpsData)
Return the heading in degrees of the hydrophone array
|
double |
getArrayHeading(long timeMilliseconds,
int phoneNo)
Get the heading of the array at the given time.
|
LocatorSettings |
getDefaultSettings() |
double[] |
getHydrophoneCoordinateErrors(int iHydrophone,
long timeMilliseconds)
Get the hydrophone coordinate errors as a three element (x,y,z) vector.
|
double[] |
getHydrophoneCoordinates(int iHydrophone,
long timeMilliseconds)
Get the hydrophone coordinates as a three element (x,y,z) vector
referenced to the nominal array position (GPS for towed systems, a fixed point, etc.)
|
LocatorSettings |
getLocatorSettings() |
java.lang.String |
getName() |
double |
getPairAngle(long timeMilliseconds,
int phone1,
int phone2,
int angleType)
Get's the angle between a pair of hydrophones
|
double |
getPairSeparation(long timeMilliseconds,
int phone1,
int phone2)
Gets the distance between a pair of hydrophones in metres.
|
double |
getPhoneHeight(long timeMilliseconds,
int phoneNo)
Get's the depth of a specific hydrophone at a given time.
|
GpsData |
getPhoneLatLong(long timeMilliseconds,
int phoneNo)
Get's the LatLong of a specific hydrophone at a given time.
|
double |
getPhoneTilt(long timeMilliseconds,
int phoneNo)
Get's the tilt of a specific hydrophone at a given time.
|
GpsData |
getReferenceLatLong(long timeMilliseconds)
Gets a reference LatLong for the locator at a given time.
|
boolean |
isChangeable()
Note- changeable refers to the array positions changing relative to each other.
|
boolean |
isStatic() |
void |
notifyModelChanged(int changeType,
boolean initComplete) |
boolean |
setLocatorSettings(LocatorSettings unusedSettings)
This is used a bit differently in the master locator
since it's passed null, but will have an array list of
settings from when it was deserialized which it must pass on
to the other locators.
|
public MasterLocator(PamArray pamArray)
public GpsData getReferenceLatLong(long timeMilliseconds)
HydrophoneLocator
getReferenceLatLong
in class HydrophoneLocator
timeMilliseconds
- time reference needed forpublic GpsData getPhoneLatLong(long timeMilliseconds, int phoneNo)
HydrophoneLocator
getPhoneLatLong
in class HydrophoneLocator
timeMilliseconds
- time position needed forphoneNo
- Hydrophone numberpublic double getPhoneHeight(long timeMilliseconds, int phoneNo)
HydrophoneLocator
getPhoneHeight
in class HydrophoneLocator
timeMilliseconds
- time depth needed forphoneNo
- Hydrophone numberpublic double getPhoneTilt(long timeMilliseconds, int phoneNo)
HydrophoneLocator
getPhoneTilt
in class HydrophoneLocator
timeMilliseconds
- time tilt needed forphoneNo
- Hydrophone numberpublic double getPairAngle(long timeMilliseconds, int phone1, int phone2, int angleType)
HydrophoneLocator
getPairAngle
in class HydrophoneLocator
timeMilliseconds
- time angle is needed forphone1
- First hydrophonephone2
- Second HydrophoneangleType
- Type of angle - ANGLE_RE_NORTH; ANGLE_RE_SHIP; ANGLE_RE_ARRAY;public double getPairSeparation(long timeMilliseconds, int phone1, int phone2)
HydrophoneLocator
getPairSeparation
in class HydrophoneLocator
timeMilliseconds
- time angle is needed forphone1
- First hydrophonephone2
- Second Hydrophonepublic void notifyModelChanged(int changeType, boolean initComplete)
notifyModelChanged
in class HydrophoneLocator
public double[] getHydrophoneCoordinates(int iHydrophone, long timeMilliseconds)
HydrophoneLocator
Hydrophone locators which want to vary location as a function of time should override this function and use the timeMilliseconds parameter to get the true location of the hydrophones in their own way.
getHydrophoneCoordinates
in class HydrophoneLocator
iHydrophone
- hydrophone numbertimeMilliseconds
- time of locationpublic double[] getHydrophoneCoordinateErrors(int iHydrophone, long timeMilliseconds)
HydrophoneLocator
Hydrophone locators which want to vary this error as a function of time should override this function and use the timeMilliseconds parameter to get the true errors in their own way.
getHydrophoneCoordinateErrors
in class HydrophoneLocator
iHydrophone
- hydrophone numbertimeMilliseconds
- time of locationpublic java.lang.Double getArrayHeading(GpsData gpsData)
HydrophoneLocator
getArrayHeading
in class HydrophoneLocator
public double getArrayHeading(long timeMilliseconds, int phoneNo)
HydrophoneLocator
getArrayHeading
in class HydrophoneLocator
phoneNo
- Hydrophone number (the array may be heading in different directions at different places !)public boolean isStatic()
isStatic
in class HydrophoneLocator
public boolean isChangeable()
HydrophoneLocator
isChangeable
in class HydrophoneLocator
public LocatorSettings getLocatorSettings()
getLocatorSettings
in class HydrophoneLocator
public boolean setLocatorSettings(LocatorSettings unusedSettings)
setLocatorSettings
in class HydrophoneLocator
public java.lang.String getName()
getName
in class HydrophoneLocator
public LocatorSettings getDefaultSettings()
getDefaultSettings
in class HydrophoneLocator