-// 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
#include "HYDROGUI_Operation.h"
#include <vector>
-//extern "C" {
-#include <shapelib/shapefil.h>
-//};
+#include <NCollection_Sequence.hxx>
+#include <HYDROData_ShapeFile.h>
class SUIT_FileDlg;
-class QFile;
-class gp_XYZ;
-
-struct HYDROGUI_CurveBlock
-{
- //HYDROGUI_CurveBlock() : myType(-1), myIsConnected(false), myIsClosed(false), myName(""), myCurvePlane(-1), myRefRatio(1.0)
- //{};
- std::vector<gp_XYZ> myXYZPoints;
- int myType;
- bool myIsConnected;
- bool myIsClosed;
- int myCurvePlane;
- QString myName;
- std::vector<double> myAdditionalCurveInfo;
- std::vector<double> myRefCoords;
- double myRefRatio;
-};
+class HYDROData_Entity;
class HYDROGUI_ImportPolylineOp : public HYDROGUI_Operation
{
public:
HYDROGUI_ImportPolylineOp( HYDROGUI_Module* theModule );
+
virtual ~HYDROGUI_ImportPolylineOp();
+ static NCollection_Sequence<Handle(HYDROData_Entity)> ImportPolyOp(const QStringList& aFileNames,
+ Handle(HYDROData_Document) theDocument,
+ HYDROGUI_Module* module,
+ HYDROData_ShapeFile::ImportShapeType theShapeTypesToImport);
+
protected:
+
virtual void startOperation();
virtual void onApply();
- void ProcessSX();
- bool Parse( QFile& theFile );
- void Parse( SHPHandle theHandle);
- void ProcessSHPPolyXY(SHPObject* anObj, QString theFileName, int theInd);
- void ProcessSHPPoly3D(SHPObject* anObj, QString theFileName, int theInd);
+
+ static void UpdateView( HYDROGUI_Module* module, NCollection_Sequence<Handle(HYDROData_Entity)>& anEntities);
+
private:
SUIT_FileDlg* myFileDlg;
- std::vector<HYDROGUI_CurveBlock> myCurveBlocks;
- std::vector<SHPObject*> mySHPObjects;
};
#endif