#include "HYDROGUI_Operation.h"
#include <vector>
+//extern "C" {
+#include <shapelib/shapefil.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;
- bool myType;
+ int myType;
bool myIsConnected;
bool myIsClosed;
int myCurvePlane;
QString myName;
+ std::vector<double> myAdditionalCurveInfo;
+ std::vector<double> myRefCoords;
+ double myRefRatio;
};
class HYDROGUI_ImportPolylineOp : public HYDROGUI_Operation
protected:
virtual void startOperation();
virtual void onApply();
- virtual void Process();
- bool Parse( QFile& theFile );
+ 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);
private:
SUIT_FileDlg* myFileDlg;
std::vector<HYDROGUI_CurveBlock> myCurveBlocks;
+ std::vector<SHPObject*> mySHPObjects;
};
#endif