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