Impl FSUIPC Quad contains

This commit is contained in:
Kilian Hofmann 2022-09-24 13:21:07 +02:00
parent ace71d7670
commit 9deae93fdd
2 changed files with 28 additions and 1 deletions

View File

@ -1,4 +1,3 @@
- Reverse engineer FSUIPC .NET onRunway Check to use my solution
- Potentially revert to Header only File lib (NO LINKING)
- Update OSXCross Docker image to SDK 11
- Implement ARM64 arch for Plugin

View File

@ -71,6 +71,34 @@ namespace file
: designator(designator), bounds(bounds), width(width),
length(length), trueHeading(trueHeading){};
inline bool containsPoint(geodata::point point)
{
bool flag = false;
double udegrees1 = this->bounds.topRight.latitude + 90;
double udegrees2 = this->bounds.bottomLeft.latitude + 90;
double udegrees3 = this->bounds.topLeft.latitude + 90;
double udegrees4 = this->bounds.bottomRight.latitude + 90;
double udegrees5 = this->bounds.topRight.longitude + 180;
double udegrees6 = this->bounds.bottomLeft.longitude + 180;
double udegrees7 = this->bounds.topLeft.longitude + 180;
double udegrees8 = this->bounds.bottomRight.longitude + 180;
double udegrees9 = point.longitude + 180;
double udegrees10 = point.latitude + 90;
if (udegrees9 > udegrees5 + (udegrees6 - udegrees5) /
(udegrees1 - udegrees2) *
(udegrees1 - udegrees10) &&
udegrees9 < udegrees8 + (udegrees7 - udegrees8) /
(udegrees4 - udegrees3) *
(udegrees4 - udegrees10) &&
udegrees10 > udegrees2 + (udegrees3 - udegrees2) /
(udegrees7 - udegrees6) *
(udegrees9 - udegrees6))
flag = udegrees10 < udegrees1 + (udegrees4 - udegrees1) /
(udegrees8 - udegrees5) *
(udegrees9 - udegrees5);
return flag;
}
inline void toFile(std::ofstream &out) const
{
writeString(out, this->designator);