-
Notifications
You must be signed in to change notification settings - Fork 5
/
IRenderEngine.cs
65 lines (49 loc) · 1.37 KB
/
IRenderEngine.cs
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
63
64
65
using System;
using System.Collections.Generic;
using System.Text;
using las.datamanager;
using Tao.OpenGl;
using las.datamanager.structures;
namespace TerraForm
{
public abstract class IRenderEngine
{
protected LasDataManager dataSource;
private Point3D viewPosition;
protected RenderingConfigurator renderingConfiguration;
public Point3D ViewerPosition
{
get { return viewPosition; }
set { viewPosition = value; }
}
//minimap reference
public MiniMap.MiniMapForm Minimap { get; set; }
public LasDataManager DataSource
{
get { return dataSource; }
set
{
dataSource = value;
if (Minimap != null)
{
Minimap.dataSource = value;
}
}
}
public abstract void Init();
public abstract void Destroy();
public abstract void WindowResized(int width, int height, float FOV);
/// <summary>
/// renders data contained in dataSource
/// </summary>
public virtual void RenderScene(float FOV, float near, float far, Vector3f eyeVector, float xPos, float yPos)
{
LasDataManager.setFOV(FOV);
if (Minimap != null)
{
Minimap.updateMap(FOV, near, far, eyeVector, xPos, yPos);
}
}
public abstract void RenderingConfigurationChanged(RenderingConfigurator conf);
}
}