File indexing completed on 2024-04-28 07:32:27
0001 /* 0002 SPDX-FileCopyrightText: 2011 Jerome SONRIER <jsid@emor3j.fr.eu.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QString> 0010 #include <QUrl> 0011 0012 class Satellite; 0013 0014 /** 0015 * @class SatelliteGroup 0016 * Represents a group of artificial satellites. 0017 * @author Jérôme SONRIER 0018 * @version 1.0 0019 */ 0020 class SatelliteGroup : public QList<Satellite *> 0021 { 0022 public: 0023 /** 0024 * @short Constructor 0025 */ 0026 SatelliteGroup(const QString& name, const QString& tle_filename, const QUrl& update_url); 0027 0028 virtual ~SatelliteGroup() = default; 0029 0030 /** 0031 * Read TLE file of the group and create all satellites found in the file. 0032 */ 0033 void readTLE(); 0034 0035 /** 0036 * Compute current position of the each satellites in the group. 0037 */ 0038 void updateSatellitesPos(); 0039 0040 /** 0041 * @return TLE filename 0042 */ 0043 QUrl tleFilename(); 0044 0045 /** 0046 * @return URL from which new TLE file must be download 0047 */ 0048 QUrl tleUrl(); 0049 0050 /** 0051 * @return Name of the group 0052 */ 0053 QString name(); 0054 0055 private: 0056 /// Group name 0057 QString m_name; 0058 /// TLE filename 0059 QString m_tle_file; 0060 /// URL used to update TLE file 0061 QUrl m_tle_url; 0062 };