00001
00005 #pragma once
00006
00007 #include <usml/ocean/boundary_model.h>
00008
00009 namespace usml {
00010 namespace ocean {
00011
00014
00034 class USML_DECLSPEC boundary_slope : public boundary_model {
00035
00036
00037
00038
00039 private:
00040
00042 const wposition1& _location ;
00043
00045 const double _height ;
00046
00048 wvector1 _normal ;
00049
00050 public:
00051
00061 virtual void height( const wposition& location,
00062 matrix<double>* rho, wvector* normal=NULL, bool quick_interp=false ) ;
00063
00073 virtual void height( const wposition1& location,
00074 double* rho, wvector1* normal=NULL, bool quick_interp=false ) ;
00075
00076
00077
00078
00095 boundary_slope( const wposition1& location,
00096 double depth, double lat_slope, double lng_slope=0.0,
00097 reflect_loss_model* reflect_loss=NULL ) ;
00098
00099 };
00100
00102 }
00103 }