1 /*
2  * Copyright 2010-2014 OpenXcom Developers.
3  *
4  * This file is part of OpenXcom.
5  *
6  * OpenXcom is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * OpenXcom is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with OpenXcom.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 #ifndef OPENXCOM_POLYLINE_H
20 #define OPENXCOM_POLYLINE_H
21 
22 namespace OpenXcom
23 {
24 
25 /**
26  * Represents a polyline in the world map.
27  * Polylines constitute the textured land portions
28  * of the X-Com globe and typically have 3-4 points.
29  */
30 class Polyline
31 {
32 private:
33 	double *_lat, *_lon;
34 	const int _points;
35 public:
36 	/// Creates a polyline with a number of points.
37 	Polyline(int points);
38 	/// Cleans up the polyline.
39 	~Polyline();
40 	/// Gets the latitude of a point.
41 	double getLatitude(int i) const;
42 	/// Sets the latitude of a point.
43 	void setLatitude(int i, double lat);
44 	/// Gets the longitude of a point.
45 	double getLongitude(int i) const;
46 	/// Sets the longitude of a point.
47 	void setLongitude(int i, double lon);
48 	/// Gets the number of points of the polyline.
49 	int getPoints() const;
50 };
51 
52 }
53 
54 #endif
55