Develop and Download Open Source Software

Browse CVS Repository

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

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


Revision 1.2 - (show annotations) (download) (as text)
Wed Nov 17 10:20:59 2004 UTC (19 years, 4 months ago) by tmurakam
Branch: MAIN
CVS Tags: v0_3, v0_2, HEAD
Changes since 1.1: +0 -1 lines
File MIME type: text/x-c++hdr
remove WriteBGL virtual func.

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 // bgl.hpp : BGL base class
30
31 #ifndef _BGL_HPP
32 #define _BGL_HPP
33
34 #include <vector>
35 using namespace std;
36
37 #include "bbox.hpp"
38 #include "databuf.hpp"
39
40 class DataChunk
41 {
42 protected:
43 //LWMIndexEntry ie;
44
45 DataBuf *databuf;
46 int m_u, m_v;
47
48 public:
49 DataChunk();
50 ~DataChunk();
51
52 inline void setuv(int u, int v) { m_u = u; m_v = v; }
53 inline void getuv(int &u, int &v) { u = m_u; v = m_v; }
54
55 int getDataSize(void) { return databuf->size(); }
56
57 void WriteDataChunk(FILE *fp);
58 };
59
60 class Bgl
61 {
62 protected:
63 FILE *fp;
64 vector<DataChunk*> datachunk;
65 BoundingBox bbox;
66
67 void WriteBGLHeader(const char *LWMHeaderLabel, const char *VTPHeaderLabel);
68 void UpdateBoundingBox(BoundingBox &bbox);
69
70 public:
71 Bgl();
72 virtual ~Bgl();
73
74 void OpenFile(const char *fname);
75
76 virtual DataChunk *NewDataChunk(int u, int v, BoundingBox &bb) = 0;
77 };
78
79 #endif
80

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