#include <QString>
#include <TopoDS_Face.hxx>
#include <TopExp_Explorer.hxx>
+#include <vector>
+#include <set>
-typedef NCollection_IndexedDataMap<TopoDS_Face, QString> HYDROData_MapOfFaceToStricklerType;
+class HYDROData_StricklerTable;
+#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
-DEFINE_STANDARD_HANDLE( HYDROData_LandCoverMap, HYDROData_Entity )
+typedef NCollection_IndexedDataMap<TopoDS_Face, QString> HYDROData_MapOfFaceToStricklerType;
class TopoDS_Shape;
class TopoDS_Wire;
class TopoDS_Iterator;
-class TopTools_ListOfShape;
-class Handle( HYDROData_PolylineXY );
-class Handle( HYDROData_Object );
-class gp_Pnt2d;
+class HYDROData_PolylineXY;
+class HYDROData_Object;
+class gp_XY;
class HYDROData_LandCoverMap : public HYDROData_Entity
{
HYDRODATA_EXPORT virtual const ObjectKind GetKind() const;
+ HYDRODATA_EXPORT bool ImportSHP( const QString& theSHPFileName,
+ const QList<int>& theIndices = QList<int>() );
+
+ 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<int>& theIndices = QList<int>() );
-
+
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,
+ QString& statMessage) const;
HYDRODATA_EXPORT bool Add( const Handle( HYDROData_Object )&, const QString& theType );
HYDRODATA_EXPORT bool Add( const Handle( HYDROData_PolylineXY )&, const QString& theType );
+ using HYDROData_Entity::Remove;
HYDRODATA_EXPORT bool Remove( const TopoDS_Face& );
HYDRODATA_EXPORT bool Remove( const TopTools_ListOfShape& );
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<TopoDS_Face, TopoDS_Face>* aF2FReplace);
+
+ HYDRODATA_EXPORT bool CheckLinear();
+
+ HYDRODATA_EXPORT virtual void UpdateLocalCS( double theDx, double theDy );
+
+ HYDRODATA_EXPORT void ClassifyPoints( const std::vector<gp_XY>& thePoints,
+ std::vector<std::set <QString> >& theTypes ) const;
+
+ HYDRODATA_EXPORT void ClassifyPoints( const std::vector<gp_XY>& thePoints,
+ const Handle(HYDROData_StricklerTable)& theTable,
+ std::vector<int>& theTypes ) const;
+
+ HYDRODATA_EXPORT void ClassifyPoints( const std::vector<gp_XY>& thePoints,
+ const Handle(HYDROData_StricklerTable)& theTable,
+ std::vector<double>& 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 );
+ DEFINE_STANDARD_RTTIEXT( HYDROData_LandCoverMap, HYDROData_Entity );
private:
friend class Explorer;