USML
ocean_model.h
1 
5 #ifndef USML_OCEAN_OCEAN_MODEL_H
6 #define USML_OCEAN_OCEAN_MODEL_H
7 
8 #include <usml/ocean/boundary_model.h>
9 #include <usml/ocean/profile_model.h>
10 
11 namespace usml {
12 namespace ocean {
13 
16 
20 class USML_DECLSPEC ocean_model {
21 
22  //**************************************************
23  // surface model
24 
25  private:
26 
29 
30  public:
31 
33  inline boundary_model& surface() {
34  return *_surface ;
35  }
36 
37  //**************************************************
38  // bottom model
39 
40  private:
41 
44 
45  public:
46 
48  inline boundary_model& bottom() {
49  return *_bottom ;
50  }
51 
52  //**************************************************
53  // profile model
54 
55  private:
56 
59 
60  public:
61 
63  inline profile_model& profile() {
64  return *_profile ;
65  }
66 
67  //**************************************************
68  // initialization
69 
76  boundary_model* surface, boundary_model* bottom, profile_model* profile)
77  : _surface(surface), _bottom(bottom), _profile(profile)
78  {}
79 
83  virtual ~ocean_model() {
84  delete _surface ;
85  delete _bottom ;
86  delete _profile ;
87  }
88 
89 };
90 
92 } // end of namespace ocean
93 } // end of namespace usml
94 
95 #endif
profile_model * _profile
Model of the sound speed profile and attenuation.
Definition: ocean_model.h:58
boundary_model * _bottom
Model of the ocean bottom.
Definition: ocean_model.h:43
boundary_model * _surface
Model of the ocean surface.
Definition: ocean_model.h:28
Combines the effects of surface, bottom, and profile into a single model.
Definition: ocean_model.h:20
boundary_model & bottom()
Retrieve current model for the ocean bottom.
Definition: ocean_model.h:48
ocean_model(boundary_model *surface, boundary_model *bottom, profile_model *profile)
Associate ocean parts with this model.
Definition: ocean_model.h:75
profile_model & profile()
Retrieve current model for the ocean profile.
Definition: ocean_model.h:63
virtual ~ocean_model()
Destroys ocean model components.
Definition: ocean_model.h:83
A "profile model" computes the environmental parameters of ocean water.
Definition: profile_model.h:28
boundary_model & surface()
Retrieve current model for the ocean surface.
Definition: ocean_model.h:33
A "boundary model" computes the environmental parameters of the ocean's surface or bottom...
Definition: boundary_model.h:58