|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--mil.navy.nps.rra.Surface
Simulates the acoustical reflection and absorption characteristics of the ocean's surface. Surface is simulated as a pressure-release surface with no roughness
Since a ray is the normal vector to a plane wave, rays interact with surfaces the same way that plane waves do. Rays obey Snell's law reflections, and the equations of reflection and transmission of wave energy. This model uses vector algebra to determine when the end of a Ray has passed through the bottom, and also to reflect any Rays that have penetrated. Since the surface is being approximated (to a good degree of accuracy) as a perfect pressure release surface, any wave striking it will have a 180 degree phase shift and a reflection coefficient of one. No effects due to wind or waves are yet included.
Contact: Don Brutzman (web.nps.navy.mil/~brutzman) brutzman@nps.navy.mil
| 8 Nov 97 | Timothy M. Holliday | New |
| 18 Mar 98 | Timothy M. Holliday | Added HTML comment convention |
| 16 Oct 98 | Don Brutzman | Javadoc updates for jdk1.2b4 |
| 25 April 99 | Don Brutzman | Javadoc updates for jdk1.2.1 |
Bottom| Constructor Summary | |
Surface(java.lang.String surfaceType)
The surfaceType argument currently has one choice: "smooth" indicating a perfect pressure-release surface. |
|
| Method Summary | |
static boolean |
getAppendLineFeed()
This is a static method that returns the current line appendage. |
java.lang.String |
getVRMLSurface()
This method returns a VRML string representing the Surface of the ocean. |
boolean |
hasIntersected(Vec3d Pos)
This procedure checks to see if the ray path has crossed the surface during the current time step, and returns true if it did. |
double |
reflect(Vec3d Pos,
Vec3d normal)
This method causes a Snell's Law reflection to occur at the surface of the ocean. |
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. |
| Methods inherited from class java.lang.Object |
|
| Constructor Detail |
public Surface(java.lang.String surfaceType)
| Method Detail |
public boolean hasIntersected(Vec3d Pos)
public double reflect(Vec3d Pos,
Vec3d normal)
public java.lang.String getVRMLSurface()
public static void setAppendLineFeed(boolean pAppendLineFeed)
public static boolean getAppendLineFeed()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||