mcc_pcm.h: add mccDefaultPCMTypeString free function
mcc_pcm_fit.h: computeModel now accepts PCM data type of MccDefaultPCM- class descendants
This commit is contained in:
@@ -120,6 +120,17 @@ static constexpr std::string_view MccDefaultPCMTypeString =
|
|||||||
#endif
|
#endif
|
||||||
: "UNKNOWN";
|
: "UNKNOWN";
|
||||||
|
|
||||||
|
|
||||||
|
static constexpr std::string_view mccDefaultPCMTypeString(MccDefaultPCMType type)
|
||||||
|
{
|
||||||
|
return type == MccDefaultPCMType::PCM_TYPE_GEOMETRY ? "GEOMETRY"
|
||||||
|
#ifdef USE_BSPLINE_PCM
|
||||||
|
: type == MccDefaultPCMType::PCM_TYPE_GEOMETRY_BSPLINE ? "GEOMETRY-BSPLINE"
|
||||||
|
: type == MccDefaultPCMType::PCM_TYPE_GEOMETRY_BSPLINE ? "BSPLINE"
|
||||||
|
#endif
|
||||||
|
: "UNKNOWN";
|
||||||
|
}
|
||||||
|
|
||||||
template <MccMountType MOUNT_TYPE>
|
template <MccMountType MOUNT_TYPE>
|
||||||
class MccDefaultPCM : public mcc_pcm_interface_t<std::error_code>
|
class MccDefaultPCM : public mcc_pcm_interface_t<std::error_code>
|
||||||
{
|
{
|
||||||
@@ -176,6 +187,8 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct pcm_data_t {
|
struct pcm_data_t {
|
||||||
|
typedef MccDefaultPCM pcm_t;
|
||||||
|
|
||||||
MccDefaultPCMType type{MccDefaultPCMType::PCM_TYPE_GEOMETRY};
|
MccDefaultPCMType type{MccDefaultPCMType::PCM_TYPE_GEOMETRY};
|
||||||
double siteLatitude{0.0}; // in radians
|
double siteLatitude{0.0}; // in radians
|
||||||
|
|
||||||
|
|||||||
@@ -279,8 +279,9 @@ public:
|
|||||||
//
|
//
|
||||||
// WARNING: the input knots for inverse B-spline are ignored so the direct and inverse B-spline coefficients are
|
// WARNING: the input knots for inverse B-spline are ignored so the direct and inverse B-spline coefficients are
|
||||||
// calculated on the same mesh!
|
// calculated on the same mesh!
|
||||||
compute_result_t computeModel(MccDefaultPCM<MOUNT_TYPE>::pcm_data_t& pcm_data,
|
template <typename PCM_DATA_T>
|
||||||
compute_params_t const& comp_params = {})
|
compute_result_t computeModel(PCM_DATA_T& pcm_data, compute_params_t const& comp_params = {})
|
||||||
|
requires(std::derived_from<typename PCM_DATA_T::pcm_t, MccDefaultPCM<MOUNT_TYPE>>)
|
||||||
{
|
{
|
||||||
compute_result_t result{.pcm_type = pcm_data.type, .error = MccPCMFitterErrorCode::ERROR_OK};
|
compute_result_t result{.pcm_type = pcm_data.type, .error = MccPCMFitterErrorCode::ERROR_OK};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user