Develop and Download Open Source Software

Browse CVS Repository

Contents of /autocoast/src/lib/cell.hpp

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Fri Nov 12 15:39:16 2004 UTC (19 years, 5 months ago) by tmurakam
Branch: MAIN
CVS Tags: v0_3, v0_2, HEAD
File MIME type: text/x-c++hdr
moved

1 //
2 // AutoCoast: Automatic Coastline scenery generator for Flight Simulator
3 //
4 // Copyright (c) 2004, Takuya Murakami. All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions
8 // are met:
9 //
10 // 1. Redistributions of source code must retain the above copyright
11 // notice, this list of conditions and the following disclaimer.
12 //
13 // 2. Redistributions in binary form must reproduce the above copyright
14 // notice, this list of conditions and the following disclaimer in the
15 // documentation and/or other materials provided with the distribution.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
21 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 // cell.hpp : cell data
30
31 #ifndef _CELL_HPP
32 #define _CELL_HPP
33
34 #include "gpc.hpp"
35 #include "dataset.hpp"
36 #include "bgl.hpp"
37 #include "bgllwm.hpp"
38 #include "bglvtp.hpp"
39 #include "area.hpp"
40
41 class Cell
42 {
43 private:
44 int x, y; // cell id
45 BoundingBox bbox;
46 Area area[32][32];
47 DataSet *cellData;
48
49 void checkFill(LwmDataChunk *chunk, int u, int v, int blocksz);
50
51 void DrawVtpPolygon(VtpDataChunk *chunk);
52 void ExtractShoreline(GpcPolygon *shorelines, GpcVertexList *vlist,
53 int level);
54 void PutShoreLine(GpcPolygon *shorelines, GpcVertexList *vlist,
55 int st, int ed, bool needInvert, bool isLoop = false);
56 GpcVertexList *InterPolateVTPPoints(GpcVertexList *vl);
57
58 public:
59 Cell();
60 ~Cell();
61
62 static double x2lon(int x);
63 static double y2lat(int y);
64 static int lon2x(double lon);
65 static int lat2y(double lat);
66
67 void setid(int xx, int yy);
68 inline int getx(void) { return x; }
69 inline int gety(void) { return y; }
70 inline BoundingBox *getBoundingBox(void) { return &bbox; }
71
72 bool Clipping(DataSet *source);
73
74 void GenLwmBgl(LwmBgl *bgl);
75 void GenVtpBgl(VtpBgl *bgl);
76 };
77
78 #endif

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26