/**
* Perform interpolation calculations.
*/
- HYDRODATA_EXPORT virtual InterpolationError Calculate() = 0;
+ HYDRODATA_EXPORT virtual void Calculate() = 0;
+ /**
+ * Get number of calculated profiles ( could be less than the number of profiles to be computed set as a parameter ).
+ * @return the number of really calculated profiles
+ */
HYDRODATA_EXPORT virtual int GetCalculatedProfilesNumber() const;
/**
* \param theProfileIndex the profile index [0, <number of profiles to compute>]
* \return the profile with the given index or empty vector if the index is out of range
*/
- std::vector<double> GetResultProfile( const int theProfileIndex ) const;
+ HYDRODATA_EXPORT std::vector<double> GetResultProfile( const int theProfileIndex ) const;
protected:
/**
*/
HYDRODATA_EXPORT virtual void SetErrorMessage( const std::string& theMessage );
+ /**
+ * Get the first profile.
+ * \return the first profile points
+ */
+ HYDRODATA_EXPORT std::vector<double> GetFirstProfile() const;
+
+ /**
+ * Get the second profile.
+ * \return the second profile points
+ */
+ HYDRODATA_EXPORT std::vector<double> GetSecondProfile() const;
+
+ /**
+ * Get number of profiles to compute.
+ * \return the current value of number of result profiles parameter
+ */
+ HYDRODATA_EXPORT virtual int GetNbProfilesToCompute() const;
+
+ /**
+ * Clear result data (including errors).
+ */
+ HYDRODATA_EXPORT void ClearResults();
+
+ /**
+ * Insert the calculated profile to the resuls.
+ * \param theProfile the profile to insert
+ */
+ HYDRODATA_EXPORT void InsertResultProfile( const std::vector<double>& theProfile );
+
private:
std::vector<double> myProfile1, myProfile2; ///< the two input profiles
int myResultProfilesNumber; ///< the number of profiles to compute
InterpolationError myErrorCode; ///< the last error code
std::string myErrorMessage; ///< the last error message
- std::vector<std::vector<double>> myResultProfiles; ///< the list of result profiles
+ std::vector< std::vector<double> > myResultProfiles; ///< the list of result profiles
};
#endif