-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015 EDF-R&D
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
#ifndef HYDROData_SplitToZonesTool_H
#define HYDROData_SplitToZonesTool_H
+#ifdef WIN32
+ #pragma warning ( disable: 4251 )
+#endif
+
#include <HYDROData_Object.h>
#include <HYDROData_Transform.h>
#include <TopoDS_Shape.hxx>
#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,
const HYDROData_SequenceOfObjects& theGroupsList,
- const Handle(HYDROData_PolylineXY)& thePolyline );
+ const Handle(HYDROData_PolylineXY)& thePolyline,
+ const HYDROData_SequenceOfObjects& InterPolys );
+
+ static SplitDataList Split( const HYDROData_SequenceOfObjects& theObjectList );
+
+ static void AddInternalEdges(HYDROData_DataMapOfShapeListOfShape& DM,
+ 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);
static Standard_Integer SplitFaces(const TopoDS_Compound& theComp, HYDROData_Transform& theTool);
};
+#ifdef WIN32
+ #pragma warning ( default: 4251 )
+#endif
+
+
#endif