#include <TopoDS_Face.hxx>
#include <TopTools_ShapeMapHasher.hxx>
#include <NCollection_IndexedMap.hxx>
-#include <NCollection_IndexedDataMap.hxx>
+#include <TopTools_IndexedDataMapOfShapeShape.hxx>
+#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
#include <TopTools_ListOfShape.hxx>
#include <QStringList>
+#include <NCollection_DataMap.hxx>
class Handle(HYDROData_PolylineXY);
{
Data_None,
Data_Zone,
- Data_Edge
+ Data_Edge,
+ Data_IntEdge
};
TopoDS_Shape Shape;
static SplitDataList Split( const HYDROData_SequenceOfObjects& theObjectList );
static void AddInternalEdges(HYDROData_DataMapOfShapeListOfShape& DM,
- const HYDROData_SequenceOfObjects& thePolylines);
-
- static int CutByEdges(const TopoDS_Shape& InSh, const TopTools_ListOfShape& InEdges,
- TopTools_ListOfShape& outShs);
+ const HYDROData_SequenceOfObjects& thePolylines,
+ NCollection_DataMap<TopoDS_Shape, Handle(HYDROData_PolylineXY), TopTools_ShapeMapHasher>* OutNE);
+
+ static void CutFaceByEdges(const TopoDS_Face& in,
+ TopTools_ListOfShape& out,
+ const HYDROData_SequenceOfObjects& thePolylines,
+ NCollection_DataMap<TopoDS_Shape, Handle(HYDROData_PolylineXY), TopTools_ShapeMapHasher>* OutNE,
+ TopTools_IndexedDataMapOfShapeListOfShape* OutOrSh2M);
+
+ static int CutByEdges(const TopoDS_Shape& InSh, const TopTools_ListOfShape& InW,
+ TopTools_ListOfShape& outShs,
+ TopTools_IndexedDataMapOfShapeShape* OutNE2OE,
+ TopTools_IndexedDataMapOfShapeListOfShape* OInSH2MSH);
static void SetFileNames(const QString& theNameBefore, const QString& theNameAfter);