class Handle( HYDROData_Document );
class HYDROData_TopoCurve;
+class Handle(HYDROData_Object);
class HYDRODATA_EXPORT HYDROData_PolylineOperator
{
bool Split( const Handle( HYDROData_Document )& theDoc,
const Handle( HYDROData_PolylineXY )& thePolyline,
const Handle( HYDROData_PolylineXY )& theTool,
- double theTolerance ) const;
+ double theTolerance,
+ bool& theIsIntersected) const;
bool Split( const Handle( HYDROData_Document )& theDoc,
const HYDROData_SequenceOfObjects& thePolylines,
double theTolerance );
//! the middle deflection is more than the required deflection and
//! more than the half of the maximal middle deflection.
//! Returns the initial maximal middle deflection.
- //! Returns a negative value in the case of any erorr.
+ //! Returns a negative value in the case of any error.
static double ReduceDeflection(
const double theDeflection,
HYDROData_TopoCurve& theCurve,
int& thePieceCount);
+ bool Extract( const Handle(HYDROData_Document)& theDocument,
+ const Handle(HYDROData_Object)& theObject );
+
protected:
bool split( const Handle( HYDROData_Document )& theDoc,
const Handle( HYDROData_PolylineXY )& thePolyline,
const HYDROData_SequenceOfObjects& theTools,
double theTolerance,
- int theIgnoreIndex ) const;
+ int theIgnoreIndex,
+ bool& theIsIntersected) const;
static void Split(
const TopoDS_Wire& theWire,
std::vector<TopoDS_Shape>& theWires);
static bool CreatePolylines( const Handle( HYDROData_Document )& theDoc,
- const QString& theNamePrefix,
+ const Handle( HYDROData_PolylineXY )& theOldPolyline,
const std::vector<TopoDS_Shape>& theShape,
bool isUseIndices );
};