Develop and Download Open Source Software

Browse CVS Repository

Contents of /autocoast/src/lib/vector.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:45:52 2004 UTC (19 years, 4 months ago) by tmurakam
Branch: MAIN
CVS Tags: v0_3, v0_2, HEAD
Changes since 1.1: +1 -1 lines
File MIME type: text/x-c++hdr
misc fix

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 // vector.hpp : 2D vector class
30
31 #ifndef _VECTOR_HPP
32 #define _VECTOR_HPP
33
34 #include "gpc.hpp"
35
36 class Vector
37 {
38 public:
39 double x;
40 double y;
41
42 public:
43 inline Vector(void) { set(0.0, 0.0); }
44 inline Vector(double xx, double yy) { set(xx, yy); }
45 inline Vector(const Vector &v) { set(v.x, v.y); }
46
47 inline void set(double xx, double yy) { x = xx; y = yy; }
48
49 void set(gpc_vertex *f, gpc_vertex *t = NULL);
50
51 Vector operator+ (const Vector &v) const;
52 Vector operator- (const Vector &v) const;
53 Vector operator* (double m) const;
54 Vector operator/ (double m) const;
55
56 Vector normalize(void) const;
57
58 double InnerProduct(const Vector &v) const;
59 double OuterProduct(const Vector &v) const;
60
61 double Angle(const Vector &target) const;
62 };
63
64 #endif

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