...
This commit is contained in:
parent
f0378a063f
commit
fd105277b9
@ -214,6 +214,50 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class MccNearMeridianPZ
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MccNearMeridianPZ(const MccAngle& delta_az) : _deltaAZ(delta_az)
|
||||||
|
{
|
||||||
|
_deltaAZ.normalize(); // to [0, 360)
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string_view name() const
|
||||||
|
{
|
||||||
|
return "NEAR-MERIDIAN-LIMIT";
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string_view desc() const
|
||||||
|
{
|
||||||
|
return "Near-meridian prohibited zone";
|
||||||
|
}
|
||||||
|
|
||||||
|
bool inZone(const MccAngle& x, const MccAngle& y, const MccProhibitedZone::pzcontext_t& context)
|
||||||
|
{
|
||||||
|
if (context.coords_kind == MccProhibitedZone::COORDS_KIND_AZALT) { // trivial case
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto timeTo(const MccAngle& x,
|
||||||
|
const MccAngle& y,
|
||||||
|
const MccProhibitedZone::pzcontext_t& context,
|
||||||
|
traits::mcc_systime_c auto const& utc = std::chrono::system_clock::now())
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
auto timeFrom(const MccAngle& x,
|
||||||
|
const MccAngle& y,
|
||||||
|
const MccProhibitedZone::pzcontext_t& context,
|
||||||
|
traits::mcc_systime_c auto const& utc = std::chrono::system_clock::now())
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
MccAngle _deltaAZ;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* a general planar ellipse equation:
|
* a general planar ellipse equation:
|
||||||
* A*(x-xc)^2 + B*(x-xc)(y-yc) + C*(y-yc)^2 = 1
|
* A*(x-xc)^2 + B*(x-xc)(y-yc) + C*(y-yc)^2 = 1
|
||||||
|
|||||||
@ -285,4 +285,11 @@ static std::string AZZD_rad2sxg(double az, double zd, std::string_view delim = "
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static bool isEqual(std::floating_point auto const& v1, std::floating_point auto const& v2)
|
||||||
|
{
|
||||||
|
constexpr auto eps = std::numeric_limits<std::common_type_t<decltype(v1), decltype(v2)>>::epsilon();
|
||||||
|
|
||||||
|
return std::fabs(v1 - v2) <= eps * std::fmax(std::fabs(v1), std::fabs(v2));
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace mcc::utils
|
} // namespace mcc::utils
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user