//! Returns the curve edges.
const std::list<TopoDS_Edge>& Edges() const {return myEdges;}
+ //! Returns the curve edges.
+ std::list<TopoDS_Edge>& Edges() {return myEdges;}
+
//! Cuts the curve in the given parameter of the given edge and
//! fills the cut part.
- HYDRODATA_EXPORT void Cut(
+ //! Returns 'true' if:
+ //! - the curve is open and was splitted into two parts or
+ //! - the curve is closed and was cut into an open curve.
+ HYDRODATA_EXPORT bool Cut(
const std::list<TopoDS_Edge>::iterator& theEdgePosition,
const double theParameter,
HYDROData_TopoCurve& theCurve);
//! Cuts the curve at the parameters.
//! Each parameter vector list corresponds to the curve edge and
//! is ordered in the ascending order.
- HYDRODATA_EXPORT void Cut(
+ HYDRODATA_EXPORT bool Cut(
const std::deque<std::list<double> >& theParameters,
std::deque<HYDROData_TopoCurve>& theCurves) const;
//! Creates a B-spline piecewise curve corresponding to the curve
//! and using the deflection.
- HYDRODATA_EXPORT bool BSplinePiecewiseCurve(
+ //! Returns the piece count.
+ //! Returns 0 in the case of any error.
+ HYDRODATA_EXPORT int BSplinePiecewiseCurve(
const double theDeflection, HYDROData_TopoCurve& theCurve) const;
//! Calculates the values of the curve in its knots.
//! Returns 'false' if a curve edge has a nonidentity location or a nonforward
//! orientation or has no a B-spline representation.
- HYDRODATA_EXPORT bool ValuesInKnots(std::deque<gp_XYZ>& theValues) const;
+ HYDRODATA_EXPORT bool ValuesInKnots(std::list<gp_XYZ>& theValues) const;
private:
//! Transfers the edges of the parameter to this curve end.