コード例 #1
0
ファイル: KeyholeZone.cpp プロジェクト: M-Scholli/XCSoar
OZBoundary
KeyholeZone::GetBoundary() const
{
  OZBoundary boundary;
  boundary.push_front(GetSectorStart());
  boundary.push_front(GetSectorEnd());

  boundary.GenerateArcExcluding(GetReference(), GetRadius(),
                                GetStartRadial(), GetEndRadial());

  const fixed small_radius = GetInnerRadius();
  GeoVector small_vector(small_radius, GetStartRadial());
  boundary.push_front(small_vector.EndPoint(GetReference()));
  small_vector.bearing = GetEndRadial();
  boundary.push_front(small_vector.EndPoint(GetReference()));

  boundary.GenerateArcExcluding(GetReference(), small_radius,
                                GetEndRadial(), GetStartRadial());

  return std::move(boundary);
}
コード例 #2
0
ファイル: SectorZone.cpp プロジェクト: Tjeerdm/XCSoarDktjm
OZBoundary
SectorZone::GetBoundary() const
{
  OZBoundary boundary;

  boundary.push_front(GetReference());
  boundary.push_front(GetSectorStart());
  boundary.push_front(GetSectorEnd());

  boundary.GenerateArcExcluding(GetReference(), GetRadius(),
                                GetStartRadial(), GetEndRadial());

  return boundary;
}