+ /**
+ * Get the first profile coordinates.
+ * \return the first profile points
+ */
+ HYDRODATA_EXPORT std::vector<double> GetFirstProfileCoords() const;
+
+ /**
+ * Get the second profile coordinates.
+ * \return the second profile points
+ */
+ HYDRODATA_EXPORT std::vector<double> GetSecondProfileCoords() const;
+
+ /**
+ * Get the first profile points.
+ * \return the first profile points
+ */
+ HYDRODATA_EXPORT NCollection_Sequence<gp_XYZ> GetFirstProfilePoints() const;
+
+ /**
+ * Get the second profile points.
+ * \return the second profile points
+ */
+ HYDRODATA_EXPORT NCollection_Sequence<gp_XYZ> GetSecondProfilePoints() 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 as a list of coordinates.
+ * \param theProfile the list of coordinates [x1, y1, z1, x2, y2, z2, ...]
+ */
+ HYDRODATA_EXPORT void InsertResultProfile( const std::vector<double>& theProfile );
+
+ /**
+ * Insert the calculated profile to the resuls as a list of points.
+ * \param theProfile the list of points gp_XYZ
+ */
+ HYDRODATA_EXPORT void InsertResultProfile( const NCollection_Sequence<gp_XYZ>& theProfile );
+
+private:
+ NCollection_Sequence<gp_XYZ> GetPoints( const std::vector<double>& theCoords ) const;
+