19 using namespace swift::misc::aviation;
20 using namespace swift::misc::geo;
21 using namespace swift::misc::physical_quantities;
22 using namespace swift::misc::network;
26 namespace swift::misc::simulation
28 CSimulatedAircraftList::CSimulatedAircraftList() {}
65 if (!aircraft.isPartsSynchronized()) {
continue; }
73 if (this->
isEmpty())
return false;
91 aircraftToBeUpdated.
setIcaoCodes(aircraftIcao, airlineIcao);
99 if (!aircraft.isRendered()) {
continue; }
100 aircraft.setRendered(
false);
109 if (aircraft.getCallsign() != callsign) {
continue; }
110 aircraft.setRendered(rendered);
112 if (onlyFirst)
break;
122 if (aircraft.getCallsign() != callsign) {
continue; }
125 if (onlyFirst)
break;
135 if (aircraft.getCallsign() != callsign) {
continue; }
136 aircraft.setFastPositionUpdates(fastPositions);
138 if (onlyFirst)
break;
148 if (aircraft.getCallsign() != callsign) {
continue; }
149 aircraft.setEnabled(enabled);
151 if (onlyFirst)
break;
161 if (aircraft.getCallsign() != callsign) {
continue; }
162 aircraft.setModel(model);
164 if (onlyFirst)
break;
175 if (aircraft.getCallsign() != callsign) {
continue; }
176 aircraft.setParts(parts);
177 aircraft.setPartsSynchronized(
true);
179 if (onlyFirst)
break;
190 if (aircraft.getCallsign() != callsign) {
continue; }
191 aircraft.setSituation(situation);
192 if (onlyFirst)
break;
203 if (aircraft.getCallsign() != callsign) {
continue; }
204 aircraft.setGroundElevationChecked(elevation, info);
206 if (onlyFirst)
break;
215 if (aircraft.getCallsign() != callsign) {
continue; }
216 return aircraft.isEnabled();
225 if (aircraft.getCallsign() != callsign) {
continue; }
226 return aircraft.isRendered();
234 if (cs.
isEmpty()) {
return false; }
250 if (aircraft.isEnabled()) { c++; }
260 if (aircraft.isRendered()) { c++; }
270 if (aircraft.isPartsSynchronized()) { c++; }
280 return a.getRelativeDistance() < b.getRelativeDistance();
iterator push_back(const T &value)
Synonym for insert.
auto transform(F function) const
Return a new container generated by applying some transformation function to all elements of this one...
int replaceIf(Predicate p, const CSimulatedAircraft &replacement)
Replace elements for which a given predicate returns true.
CSequence findBy(Predicate p) const
Return a copy containing only those elements for which a given predicate returns true.
void push_back(const CSimulatedAircraft &value)
Appends an element at the end of the sequence.
bool isEmpty() const
Synonym for empty.
void sort(Predicate p)
In-place sort by a given comparator predicate.
Value object for ICAO classification.
void updateMissingParts(const CAircraftIcaoCode &otherIcaoCode)
Update missing parts.
Value object encapsulating information of aircraft's parts.
Value object encapsulating information of an aircraft's situation.
GndElevationInfo
Where did we get elevation from?
Value object for ICAO classification.
void updateMissingParts(const CAirlineIcaoCode &otherIcaoCode)
Update missing parts.
Value object encapsulating information of a callsign.
bool isEmpty() const
Is empty?
Value object for a set of callsigns.
CSimulatedAircraft findFirstByCallsign(const CCallsign &callsign, const CSimulatedAircraft &ifNotFound={}) const
Find the first aircraft by callsign, if none return given one.
bool containsCallsign(const CCallsign &callsign) const
Contains callsign?
Plane of same elevation, can be a single point or larger area (e.g. airport)
const physical_quantities::CLength & getRelativeDistance() const
Get the distance.
Value object encapsulating information of a user.
void updateMissingParts(const CUser &otherUser)
Update missing parts in this object.
Value object encapsulating a list of voice rooms.
Physical unit length (length)
Aircraft model (used by another pilot, my models on disk)
Value object encapsulating a list of aircraft models.
Comprehensive information of an aircraft.
bool hasRealName() const
Has valid realname?
bool isRendered() const
Rendered?
const network::CUser & getPilot() const
Get user.
const aviation::CCallsign & getCallsign() const
Get callsign.
const aviation::CAircraftIcaoCode & getAircraftIcaoCode() const
Get aircraft ICAO info.
const simulation::CAircraftModel & getModel() const
Get model (model used for mapping)
bool hasAircraftAndAirlineDesignator() const
Valid designators?
bool hasId() const
Has valid id?
bool isEnabled() const
Enabled? Enable means it shall be displayed in the simulator.
bool isVtol() const
VTOL aircraft?
bool setIcaoCodes(const aviation::CAircraftIcaoCode &aircraftIcaoCode, const aviation::CAirlineIcaoCode &airlineIcaoCode)
Set ICAO info.
QString getCallsignAsString() const
Get callsign.
const aviation::CAirlineIcaoCode & getAirlineIcaoCode() const
Airline ICAO code if any.
void setPilot(const network::CUser &user)
Set pilot.
Value object encapsulating a list of aircraft.
int countRendered() const
Number of rendered aircraft.
bool updateWithVatsimDataFileData(CSimulatedAircraft &aircraftToBeUpdated) const
Update aircraft with data from VATSIM data file.
int setAircraftSituation(const aviation::CCallsign &callsign, const aviation::CAircraftSituation &situation, bool onlyFirst=true)
Set aircraft situation.
network::CUserList getPilots() const
All pilots (with valid data)
int setCG(const aviation::CCallsign &callsign, const physical_quantities::CLength &cg, bool onlyFirst=true)
Set center of gravity.
Q_REQUIRED_RESULT CSimulatedAircraftList findByRendered(bool rendered) const
Rendered / not rendered aircraft.
int setAircraftPartsSynchronized(const aviation::CCallsign &callsign, const aviation::CAircraftParts &parts, bool onlyFirst=true)
Set aircraft parts and mark as synchronized.
int countEnabled() const
Number of enabled aircraft.
aviation::CCallsignSet getCallsignsWithSynchronizedParts() const
Callsigns of aircraft with synchronized parts.
Q_REQUIRED_RESULT CSimulatedAircraftList findByEnabled(bool enabled) const
Enabled / disabled aircraft.
bool replaceOrAddByCallsign(const CSimulatedAircraft &aircraft)
Replace or add by callsign.
int setEnabled(const aviation::CCallsign &callsign, bool enabled, bool onlyFirst)
Mark given callsign as enabled.
bool isRendered(const aviation::CCallsign &callsign) const
Rendered?
CAircraftModelList getModels() const
Get all models.
bool isEnabled(const aviation::CCallsign &callsign) const
Enabled?
void sortByDistanceToReferencePositionRenderedCallsign()
Same as sortByDistanceToReferencePosition, but consider callsign and rendered as secondary criteria.
int setAircraftModel(const aviation::CCallsign &callsign, const CAircraftModel &model, bool onlyFirst=true)
Set model.
CSimulatedAircraftList findByVtol(bool vtol) const
VTOL / non VTOL aircraft.
int countAircraftPartsSynchronized() const
Number of aircraft with parts.
int setFastPositionUpdates(const aviation::CCallsign &callsign, bool fastPositions, bool onlyFirst=true)
Mark as fast position enabled.
int setGroundElevationChecked(const aviation::CCallsign &callsign, const geo::CElevationPlane &elevation, aviation::CAircraftSituation::GndElevationInfo info, bool onlyFirst=true)
Set ground elevation.
void markAllAsNotRendered()
Mark all aircraft as unrendered.
int setRendered(const aviation::CCallsign &callsign, bool rendered, bool onlyFirst=true)
Mark given callsign as rendered.
auto MemberTransform(T memberFunc)
Returns a function object that returns the value returned by one of it's argument member functions.
auto MemberValid(T memberFunc)
Returns a predicate that returns true if the isValid() method of the value returned from one of its m...
#define SWIFT_DEFINE_SEQUENCE_MIXINS(Namespace, T, List)
Explicit template definition of mixins for a CSequence subclass.