X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_ShapeFile.h;h=41f2200f7a4a2530089576407349d80f0c8e19f2;hb=8d4dba4a45855249f5eb022e9cc7dcff202bce3c;hp=95a8b1752fa32dc7aac108a6beadc5c1a491af29;hpb=2226b7cf9e77d4bfa79c75a5e7037bb3df846268;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_ShapeFile.h b/src/HYDROData/HYDROData_ShapeFile.h index 95a8b175..41f2200f 100644 --- a/src/HYDROData/HYDROData_ShapeFile.h +++ b/src/HYDROData/HYDROData_ShapeFile.h @@ -19,24 +19,29 @@ #ifndef HYDRODATA_SHAPEFILE_H #define HYDRODATA_SHAPEFILE_H -#include +#include "HYDROData.h" + #include + +#include + #include -#include "HYDROData.h" + +#include + //extern "C" { #include //}; class gp_XYZ; -class Handle_HYDROData_PolylineXY; -class Handle_HYDROData_Polyline3D; -class Handle(HYDROData_Document); -class TopTools_SequenceOfShape; +class HYDROData_PolylineXY; +class HYDROData_Polyline3D; +class HYDROData_Document; class TopoDS_Face; class TopoDS_Shape; -class Handle_HYDROData_Entity; -class Handle_HYDROData_LandCoverMap; +class HYDROData_Entity; +class HYDROData_LandCoverMap; class HYDROData_ShapeFile { @@ -81,28 +86,35 @@ public: virtual HYDRODATA_EXPORT ~HYDROData_ShapeFile(); //Export operation - HYDRODATA_EXPORT void Export(const QString& aFileName, - NCollection_Sequence aPolyXYSeq, - NCollection_Sequence aPoly3DSeq, + HYDRODATA_EXPORT void Export(Handle(HYDROData_Document) theDocument, + const QString& aFileName, + NCollection_Sequence aPolyXYSeq, + NCollection_Sequence aPoly3DSeq, QStringList& aNonExpList); - HYDRODATA_EXPORT void Export(const QString& aFileName, - const Handle_HYDROData_LandCoverMap& aLCM, + HYDRODATA_EXPORT void Export(Handle(HYDROData_Document) theDocument, + const QString& aFileName, + const Handle(HYDROData_LandCoverMap)& aLCM, QStringList& aNonExpList, + bool bCheckLinear = true, bool bUseDiscr = false, double theDefl = 0.1); - int WriteObjectPolyXY(SHPHandle theShpHandle, Handle_HYDROData_PolylineXY thePoly ); + int WriteObjectPolyXY(Handle(HYDROData_Document) theDocument, SHPHandle theShpHandle, + Handle(HYDROData_PolylineXY) thePoly ); - int WriteObjectPoly3D(SHPHandle theShpHandle, Handle_HYDROData_Polyline3D thePoly ); + int WriteObjectPoly3D(Handle(HYDROData_Document) theDocument, SHPHandle theShpHandle, + Handle(HYDROData_Polyline3D) thePoly ); - int WriteObjectPolygon(SHPHandle theShpHandle, const TopoDS_Shape& theInputShape, bool bUseDiscr, double theDefl ); + int WriteObjectPolygon(Handle(HYDROData_Document) theDocument, SHPHandle theShpHandle, + const TopoDS_Shape& theInputShape, bool bUseDiscr, double theDefl ); //Import bool Parse(SHPHandle theHandle, ShapeType theType, int& theShapeTypeOfFile); //Import Landcover - void ReadSHPPolygon(SHPObject* anObj, int i, TopoDS_Face& F); + void ReadSHPPolygon(Handle(HYDROData_Document) theDocument, SHPObject* anObj, int i, TopoDS_Face& F); - HYDRODATA_EXPORT int ImportPolygons(const QString theFileName, + HYDRODATA_EXPORT int ImportPolygons(Handle(HYDROData_Document) theDocument, + const QString theFileName, QStringList& thePolygonsList, TopTools_SequenceOfShape& theFaces, int& theShapeTypeOfFile); @@ -111,13 +123,14 @@ public: //Import Polyline void ReadSHPPolyXY(Handle(HYDROData_Document) theDocument, SHPObject* anObj, QString theFileName, - int theInd, NCollection_Sequence& theEntities); + int theInd, NCollection_Sequence& theEntities, + bool bReadAsPolylin = false); void ReadSHPPoly3D(Handle(HYDROData_Document) theDocument, SHPObject* anObj, QString theFileName, - int theInd, NCollection_Sequence& theEntities); + int theInd, NCollection_Sequence& theEntities); HYDRODATA_EXPORT int ImportPolylines(Handle(HYDROData_Document) theDocument, const QString& theFileName, - NCollection_Sequence& theEntities, int& theShapeTypeOfFile); + NCollection_Sequence& theEntities, int& theShapeTypeOfFile); HYDRODATA_EXPORT QString GetShapeTypeName(int theType); @@ -134,13 +147,17 @@ public: private: - void ProcessFace(const TopoDS_Face& theFace, SHPHandle theShpHandle, + void ProcessFace(Handle(HYDROData_Document) theDocument, + const TopoDS_Face& theFace, SHPHandle theShpHandle, bool bUseDiscr, double theDefl); bool CheckLinear(const TopoDS_Shape& theInpShape); int TryOpenShapeFile(QString theFileName); + void GetFreeIndices(std::vector& theAllowedIndexes, QString strName, size_t theObjsSize, + QStringList theExistingNames, QString theBaseFileName); + private: std::vector mySHPObjects; SHPHandle myHSHP;