本文整理汇总了C++中Boundary::push_front方法的典型用法代码示例。如果您正苦于以下问题:C++ Boundary::push_front方法的具体用法?C++ Boundary::push_front怎么用?C++ Boundary::push_front使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Boundary
的用法示例。
在下文中一共展示了Boundary::push_front方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: inner_vector
ObservationZone::Boundary
AnnularSectorZone::GetBoundary() const
{
Boundary boundary;
const unsigned steps = 20;
const Angle delta = Angle::FullCircle() / steps;
const Angle start = GetStartRadial().AsBearing();
Angle end = GetEndRadial().AsBearing();
if (end <= start + Angle::FullCircle() / 512)
end += Angle::FullCircle();
const GeoPoint inner_start =
GeoVector(GetInnerRadius(), GetStartRadial()).EndPoint(GetReference());
const GeoPoint inner_end =
GeoVector(GetInnerRadius(), GetEndRadial()).EndPoint(GetReference());
GeoVector inner_vector(GetInnerRadius(), start + delta);
for (; inner_vector.bearing < end; inner_vector.bearing += delta)
boundary.push_front(inner_vector.EndPoint(GetReference()));
boundary.push_front(inner_end);
boundary.push_front(inner_start);
GeoVector vector(GetRadius(), start + delta);
for (; vector.bearing < end; vector.bearing += delta)
boundary.push_front(vector.EndPoint(GetReference()));
boundary.push_front(GetSectorEnd());
boundary.push_front(GetSectorStart());
return boundary;
}