public class Lobe extends Object
Lobes are emitted in a pattern from an source. In a properly designed active sonar, there is only one main Lobe. This class simulates that Lobe. Lobes are characterized by a direction that they are pointed in, and also (typically) by a horizontal and vertical beamwidth. Within this Lobe resides the acoustic energy used for detection of distant objects. This class subdivides the Lobe into Beams. This approach keeps the wave front of each individual bundle of rays from getting significantly larger than the wavelength of the acoustic energy. This constraint also ensures that accuracy is maintained and so many special problems with large area bundle reflection can be ignored. Thus, the Lobe class divides the sonar lobe into a matrix of beams, and divides the energy in the lobe among the beams. Each beam is then calculated individually using the Beam class.
Contact: Don Brutzman (web.nps.navy.mil/~brutzman) brutzman@nps.navy.mil
29 Nov 97 | Timothy M. Holliday | New |
17 Mar 98 | Timothy M. Holliday | Added HTML comment convention |
12 Apr 98 | Timothy M. Holliday | Parameterless Constructors |
14 Apr 98 | Timothy M. Holliday | Simplified VRML Routines |
9 Oct 98 | Don Brutzman | Javadoc updates for jdk1.2b4 |
25 April 99 | Don Brutzman | Javadoc updates for jdk1.2.1 |
Ray
,
Beam
,
Bottom
,
Surface
,
SSP
Constructor and Description |
---|
Lobe()
A Lobe is defined as an (m x n) array of Beams.
|
Modifier and Type | Method and Description |
---|---|
void |
calculateLobe(Targets targets)
Calculates the Lobe by calling the calculateBeam method for each beam in the lobe.
|
String |
detectionVRML()
Returns VRML objects that signify detections that were made in the virtual world.
|
String |
dynamicVRML()
Writes the dynamic VRML representation of the Lobe by calling the
VRMLBeam routine for each beam.
|
static boolean |
getAppendLineFeed()
This is a static method that returns the current line appendage.
|
double |
getAzimuth()
Gets the Azimuthatl Angle.
|
Bottom |
getBottom()
Returns the handle to the bottom object.
|
double |
getDeltaTime()
This method returns the simulation step time.
|
int |
getDuration()
This is an accessor method.
|
double |
getElevation()
Returns the elevation angle.
|
double |
getEndTime()
Returns the simulation end time.
|
double |
getLobeWidthX()
This is an accessor method to get the total lobe width
in the azimuthal direction reletive to the Ziomek Coordinate
System.
|
double |
getLobeWidthY()
This is an accessor method to get the total lobe width
in the elevation direction reletive to the Ziomek Coordinate
System.
|
int |
getNumberXPartition()
Returns the number of beams in the azimuthal direction that there are in the lobe.
|
int |
getNumberYPartition()
Returns the number of beams in the elevation direction that there are in the lobe.
|
Vec3d |
getPosition()
Returns the lobe position.
|
SSP |
getSsp()
This method returns the handle to the sound speed profile object.
|
Surface |
getSurface()
This method returns the handle to the surface object.
|
void |
reset()
Resets all of the lobe parameters after
instantiation has occurred since reuse is more time
efficient than garbage collection and reallocation.
|
static void |
setAppendLineFeed(boolean pAppendLineFeed)
This is a static method used to indicate whether a line feed is desired
at the end of every line.
|
void |
setAzimuth(double phi)
Sets the azimuthal angle, which is the angle from
the x-axis to the z-axis rotating about the y-axis.
|
void |
setBottom(Bottom pBottom)
This method sets the handle to the bottom object.
|
void |
setDeltaTime(double pDeltaTime)
This method sets the time step in the simulation.
|
void |
setDuration(int duration)
This is an accessor method.
|
void |
setElevation(double beta)
Sets the elevation angle, which is the angle from the
y-axis to the x-axis rotating about the z-axis .
|
void |
setEndTime(double pEndTime)
This method sets the simulation end time.
|
void |
setLobeWidthX(double pLobeWidthX)
Sets the total lobe width in the azimuthal direction reletive to the Ziomek
Coordinate System.
|
void |
setLobeWidthY(double pLobeWidthY)
This is an accessor method to set the total lobe width
in the elevation direction reletive to the Ziomek
Coordinate System.
|
void |
setNumberXPartition(int number)
Sets the number of beams in the azimuthal direction that there are in the lobe.
|
void |
setNumberYPartition(int number)
Sets the number of beams in the elevation direction that there are in the lobe.
|
void |
setPosition(Vec3d pPosition)
Sets the lobe positon.
|
void |
setSsp(SSP pSsp)
Sets the handle to the sound speed profile object.
|
void |
setSurface(Surface pSurface)
Sets the handle to the surface object.
|
String |
staticVRML(int colorMap,
int intensityMap)
This method writes the static VRML representation of the Lobe by calling the
VRMLBeam routine for each beam.
|
public Lobe()
public void reset()
public void setAzimuth(double phi)
phi
- The azimuthal angle.public double getAzimuth()
public void setLobeWidthX(double pLobeWidthX)
pLobeWidthX
- The degrees.public double getLobeWidthX()
public void setElevation(double beta)
beta
- the elevation angle.public double getElevation()
public void setLobeWidthY(double pLobeWidthY)
pLobeWidthY
- The degrees.public double getLobeWidthY()
public void setPosition(Vec3d pPosition)
pPosition
- The 3-element vectors of type Double.public Vec3d getPosition()
public void setDeltaTime(double pDeltaTime)
pDeltaTime
- the time step in the simulation.public double getDeltaTime()
public void setNumberXPartition(int number)
number
- The number of beams in the azimuthal direction.public int getNumberXPartition()
public void setNumberYPartition(int number)
number
- The number of beams in the elevation direction.public int getNumberYPartition()
public void setEndTime(double pEndTime)
pEndTime
- the simulation end time.public double getEndTime()
public void setDuration(int duration)
duration
- The duration number of deltTime increments.public int getDuration()
public void setBottom(Bottom pBottom)
pBottom
- The handle to the bottom object.public Bottom getBottom()
public void setSurface(Surface pSurface)
pSurface
- The handle to the surface object.public Surface getSurface()
public void setSsp(SSP pSsp)
pSsp
- The handle to the sound speed profile object.public SSP getSsp()
public void calculateLobe(Targets targets)
targets
- Targets class object.public String detectionVRML()
public String dynamicVRML()
public String staticVRML(int colorMap, int intensityMap)
colorMap
- The number of the colorMap.intensityMap
- The number of the intensityMap.public static void setAppendLineFeed(boolean pAppendLineFeed)
pAppendLineFeed
- 'true' indicates a linefeed is desired and 'false' indicates that a space
is desired"public static boolean getAppendLineFeed()