Free Electron
lab
terrain
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__ */
fe::ext::StratumDrawI
Draw a terrain.
Definition:
StratumDrawI.h:19
fe
kernel
Definition:
namespace.dox:3
fe::Vector< 3, Real >
fe::Component
Base for all interfacable components.
Definition:
Component.h:20
fe::sp< DrawI >
Generated by
1.8.13