X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_LandCoverMap.h;h=e009351a2baa6e20176ca49c3baa0b7218103401;hb=d398a8be8e0b0259b476b358d53d234ce4c82379;hp=930fbbf1556ca63d9d1c0cb09bd810c07e8f854c;hpb=6befa9f9669377349a681a5ca4a12b8d256cf476;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_LandCoverMap.h b/src/HYDROData/HYDROData_LandCoverMap.h index 930fbbf1..e009351a 100644 --- a/src/HYDROData/HYDROData_LandCoverMap.h +++ b/src/HYDROData/HYDROData_LandCoverMap.h @@ -24,6 +24,12 @@ #include #include #include +#include +#include +#include + +class Handle_HYDROData_StricklerTable; +#include typedef NCollection_IndexedDataMap HYDROData_MapOfFaceToStricklerType; @@ -35,7 +41,7 @@ class TopoDS_Iterator; class TopTools_ListOfShape; class Handle( HYDROData_PolylineXY ); class Handle( HYDROData_Object ); -class gp_Pnt2d; +class gp_XY; class HYDROData_LandCoverMap : public HYDROData_Entity { @@ -51,12 +57,12 @@ protected: }; public: - class Iterator + class Explorer { public: - Iterator( const HYDROData_LandCoverMap& ); - HYDRODATA_EXPORT Iterator( const Handle( HYDROData_LandCoverMap )& ); - HYDRODATA_EXPORT ~Iterator(); + Explorer( const HYDROData_LandCoverMap& ); + HYDRODATA_EXPORT Explorer( const Handle( HYDROData_LandCoverMap )& ); + HYDRODATA_EXPORT ~Explorer(); void Init( const HYDROData_LandCoverMap& ); HYDRODATA_EXPORT bool More() const; @@ -68,7 +74,7 @@ public: void SetStricklerType( const QString& ); private: - TopoDS_Iterator* myIterator; + TopExp_Explorer* myExplorer; int myIndex; Handle(TDataStd_ExtStringArray) myArray; }; @@ -87,18 +93,25 @@ public: HYDRODATA_EXPORT virtual const ObjectKind GetKind() const; + HYDRODATA_EXPORT bool ImportSHP( const QString& theSHPFileName, + const QList& theIndices = QList() ); + + HYDRODATA_EXPORT bool ExportSHP( const QString& theSHPFileName, bool bUseDiscr = false, double theDefl = 0.1) const; + HYDRODATA_EXPORT DBFStatus ImportDBF( const QString& theDBFFileName, const QString& theFieldName, const QStringList& DBFValues, const QStringList& StricklerTypes, - const QList& theIndices ); - + const QList& theIndices = QList() ); + HYDRODATA_EXPORT void ExportDBF( const QString& theDBFFileName, const QString& theFieldName, const QStringList& theDBFValues, const QStringList& theStricklerTypes ) const; - HYDRODATA_EXPORT bool ExportTelemac( const QString& theFileName, double theDeflection ) const; + HYDRODATA_EXPORT bool ExportTelemac( const QString& theFileName, + double theDeflection, + const Handle_HYDROData_StricklerTable& theTable ) const; HYDRODATA_EXPORT bool Add( const Handle( HYDROData_Object )&, const QString& theType ); HYDRODATA_EXPORT bool Add( const Handle( HYDROData_PolylineXY )&, const QString& theType ); @@ -118,31 +131,48 @@ public: HYDRODATA_EXPORT QString StricklerType( const TopoDS_Face& ) const; - HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const; + HYDRODATA_EXPORT virtual QStringList DumpToPython( const QString& thePyScriptPath, + MapOfTreatedObjects& theTreatedObjects ) const; HYDRODATA_EXPORT int GetLCCount() const; HYDRODATA_EXPORT bool IsEmpty() const; HYDRODATA_EXPORT void StoreLandCovers( const HYDROData_MapOfFaceToStricklerType& ); + HYDRODATA_EXPORT virtual bool IsHas2dPrs() const; + HYDRODATA_EXPORT void SetTransparency( double ); HYDRODATA_EXPORT double GetTransparency() const; - HYDRODATA_EXPORT TopoDS_Shape RemoveInternal(const TopoDS_Shape& InSh); + HYDRODATA_EXPORT void RemoveInternal(TopoDS_Shape& ShToRebuild, NCollection_IndexedDataMap* aF2FReplace); + + HYDRODATA_EXPORT bool CheckLinear(); + + HYDRODATA_EXPORT virtual void UpdateLocalCS( double theDx, double theDy ); + + HYDRODATA_EXPORT void ClassifyPoints( const std::vector& thePoints, std::vector >& theTypes ) const; + + HYDRODATA_EXPORT void ClassifyPoints( const std::vector& thePoints, + Handle(HYDROData_StricklerTable) theTable, + std::vector& theCoeffs, double DefValue, bool UseMax ) const; protected: void SetShape( const TopoDS_Shape& ); bool Add( const TopoDS_Wire&, const QString& ); + bool LocalPartition( const TopoDS_Shape&, const QString& theNewType ); + static TopoDS_Shape MergeFaces(const TopTools_ListOfShape& theFaces, - bool IsToUnify, double theTolerance = 1E-5 ); + bool IsToUnify, + TopTools_IndexedDataMapOfShapeListOfShape* theShHistory = NULL, + double theTolerance = 1E-5 ); public: DEFINE_STANDARD_RTTI( HYDROData_LandCoverMap ); private: - friend class Iterator; + friend class Explorer; friend class test_HYDROData_LandCoverMap; };