1 |
/* -*- Objc -*- */ |
/* -*- Objc -*- */ |
2 |
/* |
/* |
3 |
* $Id$ |
* $Id$ |
4 |
* |
* |
5 |
* Copyright (C) 2003 Free Software Foundation, Inc. |
* Copyright (C) 2003 Free Software Foundation, Inc. |
6 |
* |
* |
7 |
* This file is part of GNU Hégémonie. |
* This file is part of GNU Hégémonie. |
8 |
* |
* |
9 |
* This program is free software; you can redistribute it and/or |
* This program is free software; you can redistribute it and/or |
10 |
* modify it under the terms of the GNU General Public License |
* modify it under the terms of the GNU General Public License |
11 |
* as published by the Free Software Foundation; either version 2 |
* as published by the Free Software Foundation; either version 2 |
12 |
* of the License, or (at your option) any later version. |
* of the License, or (at your option) any later version. |
13 |
* |
* |
14 |
* This program is distributed in the hope that it will be useful, |
* This program is distributed in the hope that it will be useful, |
15 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
17 |
* GNU General Public License for more details. |
* GNU General Public License for more details. |
18 |
* |
* |
19 |
* You should have received a copy of the GNU General Public License |
* You should have received a copy of the GNU General Public License |
20 |
* along with this program; if not, write to the Free Software |
* along with this program; if not, write to the Free Software |
21 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
22 |
*/ |
*/ |
23 |
|
|
24 |
#ifndef MAP_DISPLAY_H |
#ifndef MAP_DISPLAY_H |
25 |
#define MAP_DISPLAY_H |
#define MAP_DISPLAY_H |
26 |
|
|
27 |
#include "Map/MapDisplayPoint.h" |
#include "Map/MapDisplayPoint.h" |
28 |
|
|
29 |
/** |
/** |
30 |
* MapDisplay implements the display of the map using a voxel and |
* MapDisplay implements the display of the map using a voxel and |
31 |
* wave surfing algorithm to find visible polygons. |
* wave surfing algorithm to find visible polygons. |
32 |
*/ |
*/ |
33 |
|
|
34 |
@class Camera; |
@class Camera; |
35 |
|
|
36 |
@interface MapDisplay : MapDisplayPoint |
@interface MapDisplay : MapDisplayPoint |
37 |
{ |
{ |
38 |
@private |
@private |
39 |
coord_t *_previousRay; |
coord_t *_previousRay; |
40 |
coord_t *_currentRay; |
coord_t *_currentRay; |
41 |
|
|
42 |
unsigned _previousPosition; |
unsigned _previousPosition; |
43 |
unsigned _currentPosition; |
unsigned _currentPosition; |
44 |
|
|
45 |
BOOL *_previousVisibleRay; |
BOOL *_previousVisibleRay; |
46 |
BOOL *_currentVisibleRay; |
BOOL *_currentVisibleRay; |
47 |
|
|
48 |
double _currentMaxHeight; |
double _currentMaxHeight; |
49 |
double _maxHeight; |
double _maxHeight; |
50 |
|
|
51 |
BOOL _stopRay; |
int *_step; |
52 |
int _nbIter; |
int _realRayLength; |
53 |
int _step1; |
|
54 |
int _step2; |
float *_vertices; |
55 |
coord_t _pointNear; |
int _elementLength; |
56 |
int _previousHeightRay; |
int _index; |
57 |
coord_t _camUp; |
int _pos; |
58 |
|
|
59 |
} |
int *_triangles; |
60 |
|
int _nbElements; |
61 |
/** |
|
62 |
* Display the height field from a camera and with a given number of ray. |
int *_previousRayIndex; |
63 |
*/ |
int *_currentRayIndex; |
64 |
- (void) displayWithCamera: (Camera *)camera |
|
65 |
numberOfRay: (int)nbRay |
coord_t _pointNear; |
66 |
firstStep: (int)step1 |
coord_t _camUp; |
67 |
secondStep: (int)step2; |
} |
68 |
|
|
69 |
@end |
- (void) displayWithCamera: (Camera *)camera |
70 |
|
numberOfRay: (int)nbRay |
71 |
|
lastStep: (int)lastStep; |
72 |
#endif /* MAP_DISPLAY_H */ |
|
73 |
|
- (void) displayWithCamera: (Camera *)camera |
74 |
|
numberOfRay: (int)nbRay; |
75 |
|
|
76 |
|
@end |
77 |
|
|
78 |
|
#endif /* MAP_DISPLAY_H */ |