Develop and Download Open Source Software

Browse CVS Repository

Contents of /autocoast/src/lib/bbox.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:29:15 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 // bbox.hpp : Bounding Box
30
31 #ifndef _BBOX_HPP
32 #define _BBOX_HPP
33
34 extern "C" {
35 #include "gpc.h"
36 }
37
38 static const int onUpperEdge = 0x1;
39 static const int onRightEdge = 0x2;
40 static const int onBottomEdge = 0x4;
41 static const int onLeftEdge = 0x8;
42
43 class BoundingBox
44 {
45 public:
46 double xmin, xmax;
47 double ymin, ymax;
48
49 BoundingBox();
50
51 gpc_polygon * createClipPolygon(void);
52 void destroyClipPolygon(gpc_polygon *poly);
53
54 void initialize(void);
55 void setpoint(double x, double y);
56
57 void extend(BoundingBox *target);
58
59 bool isInbox(double x, double y);
60 bool isCrossing(BoundingBox &target);
61 bool compare(BoundingBox &target);
62
63 int checkEdge(double x, double y);
64 };
65
66 #endif
67

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