-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBathyGraph.h
54 lines (48 loc) · 1.31 KB
/
BathyGraph.h
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
#pragma once
#include "BathyData.h"
#include <irrlicht.h>
#include "constants.h"
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
class BathyGraph : public scene::ISceneNode
{
//Bathymetric container holding all relevant data for visualisation of the bathymetry, and BathyData class, which has the actual data.
public:
BathyGraph(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id);
~BathyGraph();
bool ClearGraphicalData();
bool RefreshFromData();
SColor color_from_height(float height);
vector3df world_coord_from_index(bm_intvec coord);
bm_intvec index_from_world_coord(vector3df coord);
virtual void OnRegisterSceneNode();
virtual void render();
virtual const core::aabbox3d<f32>& getBoundingBox() const;
virtual u32 getMaterialCount() const;
virtual video::SMaterial& getMaterial(u32 i);
BathyData Bathymetry;
core::aabbox3d<f32> Box;
video::S3DVertex *Vertices;
u32 *PrimIndices;
video::S3DVertex *smooth_Vertices;
u32 *smooth_PrimIndices;
video::SMaterial Material;
video::SMaterial WireMaterial;
int cells_x;
int cells_y;
float size_x;
float size_y;
float max_z;
float depth_multip;
float max_depth_for_drawing;
int cells;
int prims_cell;
int selected_cell;
bool wire;
bool smooth;
bool separate_land;
};