virtual HYDRODATA_EXPORT ~HYDROData_ShapeFile();
//Export operation
- HYDRODATA_EXPORT void Export(const QString& aFileName,
+ HYDRODATA_EXPORT void Export(Handle(HYDROData_Document) theDocument,
+ const QString& aFileName,
NCollection_Sequence<Handle_HYDROData_PolylineXY> aPolyXYSeq,
NCollection_Sequence<Handle_HYDROData_Polyline3D> aPoly3DSeq,
QStringList& aNonExpList);
- HYDRODATA_EXPORT void Export(const QString& aFileName,
+ 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);
//Import Polyline
void ReadSHPPolyXY(Handle(HYDROData_Document) theDocument, SHPObject* anObj, QString theFileName,
- int theInd, NCollection_Sequence<Handle_HYDROData_Entity>& theEntities);
+ int theInd, NCollection_Sequence<Handle_HYDROData_Entity>& theEntities, bool bReadAsPolyline = false);
void ReadSHPPoly3D(Handle(HYDROData_Document) theDocument, SHPObject* anObj, QString theFileName,
int theInd, NCollection_Sequence<Handle_HYDROData_Entity>& theEntities);
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<int>& theAllowedIndexes, QString strName, size_t theObjsSize,
+ QStringList theExistingNames, QString theBaseFileName);
+
private:
std::vector<SHPObject*> mySHPObjects;
SHPHandle myHSHP;