Free Electron
StratumDrawI.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_StratumDrawI_h__
8 #define __terrain_StratumDrawI_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief Draw a terrain
16 
17  @ingroup terrain
18 *//***************************************************************************/
19 class FE_DL_EXPORT StratumDrawI: virtual public Component
20 {
21  public:
22  //* As StratumDrawI
23 
24  /// @brief Choose a drawing implementation
25 virtual void bind(sp<DrawI> spDrawI) =0;
26 
27  /// @brief Specify a center of interest
28 virtual void recenter(const SpatialVector& center) =0;
29 
30  /// @brief Draw a specific terrain
31 virtual void draw(const sp<StratumI>& rspStratumI) =0;
32 
33  /// @brief Indicate zones in sight
34 virtual void assignVisibility(sp<RecordGroup>& rspRecordGroup) =0;
35 };
36 
37 } /* namespace ext */
38 } /* namespace fe */
39 
40 #endif /* __terrain_StratumDrawI_h__ */
Draw a terrain.
Definition: StratumDrawI.h:19
kernel
Definition: namespace.dox:3
Base for all interfacable components.
Definition: Component.h:20