WSF
PositionUtils.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2019 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11#ifndef POSITIONUTILS_HPP
12#define POSITIONUTILS_HPP
13
14#include "LatLon.hpp"
15#include "RadialBearing.hpp"
16#include "Radius.hpp"
17#include "UtEntity.hpp"
18#include "UtLLAPos.hpp"
19
20namespace usmtf
21{
28const UtLLPos FindPositionOnGreaterCircle(const UtLLPos& aPosition, double aRadialBearing, double aRadius) noexcept;
29
31std::vector<UtLLPos> FindSquareOfRefrencePositions(const UtLLPos& aOrigin,
32 const UtLLPos& aDestination,
33 double aOriginsGreaterCircleDistance) noexcept;
34
36std::vector<UtLLPos> FindPositionsLeftAndRightOfOriginToDestRef(const UtLLPos& aOrigin,
37 const UtLLPos& aDestination,
38 double aLeftMeters,
39 double aRightMeters) noexcept;
40
42double FindVectorTrueNorthHeading(const UtLLPos& aVectorOrigin, const UtLLPos& aVectorEnd) noexcept;
43
45struct Point
46{
47 double mX;
48 double mY;
49};
50
53{
54 UtLLPos Intersect(const LineSegment& aOther) noexcept;
57};
58} // namespace usmtf
59#endif
Definition Acmid.cpp:17
std::vector< UtLLPos > FindPositionsLeftAndRightOfOriginToDestRef(const UtLLPos &aOrigin, const UtLLPos &aDestination, double aLeftMeters, double aRightMeters) noexcept
Used to calculate corner positions given a start point/end point and a width left/right.
Definition PositionUtils.cpp:75
double FindVectorTrueNorthHeading(const UtLLPos &aVectorOrigin, const UtLLPos &aVectorEnd) noexcept
Used to extract heading out of UtLLPos::HeadingAndDistance calculation, simple convenience wrapper.
Definition PositionUtils.cpp:53
std::vector< UtLLPos > FindSquareOfRefrencePositions(const UtLLPos &aOrigin, const UtLLPos &aDestination, double aGreaterCircleDistance) noexcept
Used to calculate corner positions given a start point/end point with just a single equal distance.
Definition PositionUtils.cpp:68
const UtLLPos FindPositionOnGreaterCircle(const UtLLPos &aPosition, double aRadialBearing, double aRadius) noexcept
Definition PositionUtils.cpp:33
Represents a Line segment so that intersection can be calculated.
Definition PositionUtils.hpp:53
Point mB
Definition PositionUtils.hpp:56
UtLLPos Intersect(const LineSegment &aOther) noexcept
Definition PositionUtils.cpp:90
Point mA
Definition PositionUtils.hpp:55
Represents a point.
Definition PositionUtils.hpp:46
double mX
Definition PositionUtils.hpp:47
double mY
Definition PositionUtils.hpp:48
Copyrights Multiple, All Rights Reserved