blob: 8327da4bf695369b37ce414a427006ec237452f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/* Starshatter: The Open Source Project
Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors
Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors
Copyright (c) 1997-2006, Destroyer Studios LLC.
AUTHOR: John DiCamillo
OVERVIEW
========
A blended detail texture applied to a terrain patch
through a specific range of altitudes
*/
#ifndef TerrainLayer_h
#define TerrainLayer_h
#include "Types.h"
#include "Bitmap.h"
// +--------------------------------------------------------------------+
class Terrain;
class TerrainRegion;
// +--------------------------------------------------------------------+
class TerrainLayer
{
friend class Terrain;
friend class TerrainRegion;
public:
static const char* TYPENAME() { return "TerrainLayer"; }
TerrainLayer() : tile_texture(0), detail_texture(0), min_height(0), max_height(-1) { }
~TerrainLayer() { }
int operator < (const TerrainLayer& t) const { return min_height < t.min_height; }
int operator <= (const TerrainLayer& t) const { return min_height <= t.min_height; }
int operator == (const TerrainLayer& t) const { return min_height == t.min_height; }
// accessors:
const char* GetTileName() const { return tile_name; }
const char* GetDetailName() const { return detail_name; }
Bitmap* GetTileTexture() const { return tile_texture; }
Bitmap* GetDetailTexture() const { return detail_texture; }
double GetMinHeight() const { return min_height; }
double GetMaxHeight() const { return max_height; }
private:
Text tile_name;
Text detail_name;
Bitmap* tile_texture;
Bitmap* detail_texture;
double min_height;
double max_height;
};
#endif // TerrainLayer_h
|