Free Electron
StratumBase.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __terrain_StratumBase_h__
8 #define __terrain_StratumBase_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief Common Class for Elevation
16 
17  @ingroup terrain
18 *//***************************************************************************/
19 class FE_DL_EXPORT StratumBase: public Stratum, virtual public StratumI,
20  virtual public RecordableI
21 {
22  public:
23  StratumBase(void) { setName("StratumBase"); }
24 virtual ~StratumBase(void) {}
25 
26  // As RecordableI
27 virtual void bind(Record& a_rRecord)
28  { const BWORD weak=TRUE;
29  RecordView::bind(a_rRecord,weak); }
30 
31  //* As StratumI
32 virtual Phase getPhase(void) const { return Phase(phase()); }
33 virtual void setPhase(Phase a_phase) { phase()=a_phase; }
34 
35 virtual Real getDensity(void) const { return density(); }
36 virtual void setDensity(Real a_density) { density()=a_density; }
37 
38 virtual Real getOffset(void) const { return offset(); }
39 virtual void setOffset(Real a_offset) { offset()=a_offset; }
40 
41 virtual Real getScale(void) const { return scale(); }
42 virtual void setScale(Real a_scale) { scale()=a_scale; }
43 };
44 
45 } /* namespace ext */
46 } /* namespace fe */
47 
48 #endif /* __terrain_StratumBase_h__ */
void bind(sp< Scope > &rspScope)
Associate with a Scope.
Definition: RecordView.h:319
kernel
Definition: namespace.dox:3
Generic binding to a serializable state.
Definition: RecordableI.h:20
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Stratum RecordView.
Definition: Stratum.h:19
Common Class for Elevation.
Definition: StratumBase.h:19
Elevation at location.
Definition: StratumI.h:21