From: Paul RASCLE Date: Thu, 19 Nov 2015 17:14:07 +0000 (+0100) Subject: merge BR_LAND_COVER_MAP X-Git-Tag: SALOME_HYDRO_V1.0~70 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=6527cd5d3063b2724b60b3f87ed1105244b74cb3;p=modules%2Fhydro.git merge BR_LAND_COVER_MAP --- 6527cd5d3063b2724b60b3f87ed1105244b74cb3 diff --cc doc/salome/gui/CMakeLists.txt index 36abd096,047df8e1..11b406a3 --- a/doc/salome/gui/CMakeLists.txt +++ b/doc/salome/gui/CMakeLists.txt @@@ -20,17 -20,4 +20,17 @@@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # - #ADD_SUBDIRECTORY(HYDRO) + ADD_SUBDIRECTORY(HYDRO) + - SALOME_CONFIGURE_FILE(doxyfile.in doxyfile) - #SALOME_CONFIGURE_FILE(static/header.html.in static/header.html) - - ADD_CUSTOM_TARGET(usr_docs ${DOXYGEN_EXECUTABLE}) - - ADD_DEPENDENCIES(usr_docs html_docs) - - INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)") - INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/HYDRO DESTINATION ${SALOME_INSTALL_DOC}/gui) - #INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/HYDRO) - - SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES GUI) ++# SALOME_CONFIGURE_FILE(doxyfile.in doxyfile) ++# #SALOME_CONFIGURE_FILE(static/header.html.in static/header.html) ++# ++# ADD_CUSTOM_TARGET(usr_docs ${DOXYGEN_EXECUTABLE}) ++# ++# ADD_DEPENDENCIES(usr_docs html_docs) ++# ++# INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)") ++# INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/HYDRO DESTINATION ${SALOME_INSTALL_DOC}/gui) ++# #INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/HYDRO) ++# ++# SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES GUI) diff --cc doc/salome/gui/HYDRO/input/mainpage.doc index 00000000,f57f0673..65ac0173 mode 000000,100644..100644 --- a/doc/salome/gui/HYDRO/input/mainpage.doc +++ b/doc/salome/gui/HYDRO/input/mainpage.doc @@@ -1,0 -1,88 +1,93 @@@ + + /** + @file + \brief Help for the main page of the HYDROGUI module + */ + + /** + @mainpage + ++ The HYDRO documentation is divided in two parts: ++ - the reference documentation below ++ - a Tutorial in French: Here ++ ++ + The HYDRO GUI project has been developed for a hydrodynamic laboratory in the EDF R&D company + in the domain of the landscape modelling (construction of channels, dams, changing the course of the rivers etc). + It represents a pre-processor for the geometry modelling of the natural and artificial objects on the landscape. + The user starts work with raster maps where he can create analytic curves and regions describing the existing natural objects, + such as banks, coasts, lakes, rivers etc. Also he can create artificial objects (channel, dam) using the algorithms of the geometry modelling. + The objects are referenced to the real territory using the geodesic coordinates. + Finally the constructed landscape study is prepared for the further meshing and using in the hydrodynamic solvers. + + The HYDRO module is implemented on the base of the SALOME platform and powered by the OpenCascade and SALOME platforms. + + It supports the following features: + - raster maps (import from files and georeferencement by geodesic coordinates); + - geometry curves (creation on the map and import from SALOME GEOM module); + - geometry objects (creation and import from SALOME GEOM module); + - support of natural objects (immersible zones, lakes, rivers) and artificial objects (obstacles, channels, dams); + - georeferencement of the objects when the objects are connected with points on real territory using the geodesic coordinates; + - geometry algorithms on analytic objects (extrusion, partition) for complex objects construction; + - support of the results of the territory level measurement (bathymetry); + - partition of objects on zones of intersection and specifying the properties for these zones; + + In the perspective the pre-processor can be completed by the post-processor showing the calculated results. + + The HYDROGUI module supports the following objects: + - \ref imzone "Immersible zone" + - \ref p_profile "Profile" + - \ref create_profile "Create profile" + - \ref import_profile "Import profile" + - \ref georeferencement_profile "Profile georeferencement" + - \ref art_digue "Digue" + - \ref art_channel "Channel" + - \ref obstacle "Obstacle" + - \ref box_obstacle "Create Box obstacle" + - \ref cylinder_obstacle "Create Cylinder obstacle" + - \ref import_obstacle_GEOM "Import obstacle from GEOMETRY" + - \ref import_obstacle "Import obstacle from file" + - \ref translate_obstacle "Translation of an obstacle" + + + - \ref polyline3d "Polyline 3D" + - \ref polyline "Polyline" + - \ref export_polyline "Export polyline" + - \ref import_polyline "Import polyline" + - \ref bathymetry "Bathymetry" + - \ref strickler_table "Strickler table" + - \ref export_strickler_table "Export strickler table" + - \ref import_strickler_table "Import strickler table" + - \ref stream "Stream" + - \ref impimage "Find bottom" + - \ref profilesinterpolation "Profiles interpolation" + - \ref image "Image" + - \ref impimage "Import image" + - \ref fuseimages "Fuse images" + - \ref cutimages "Cut images" + - \ref splitimage "Split image" + - \ref calculation_case "Calculation case" + + The HYDROGUI module supports the following \ref general_services "services":
+ + + - \ref general_services "General services" + - \ref preferences "Preferences" + - \ref save "Save file" + - \ref open "Open file" + - \ref dump_study "Dump study" + - \ref load_script "Load script" + - \ref undo_redo "Undo/Redo actions" + - \ref copy_paste "Copy/Paste object(s)" + - \ref delete "Delete object(s)" + - \ref color "Color object" + - \ref show_hide "Show/Hide object(s)" + - \ref update "Update object" + - \ref rename "Rename object" + - \ref submersible "Submersible" + - \ref copy_position "Copy position" + - \ref change_layer_order "Change layer order" + - \ref local_cs "Local CS" + + + */ diff --cc src/HYDROData/CMakeLists.txt index 4ce848b2,707e6694..05f4f8a4 --- a/src/HYDROData/CMakeLists.txt +++ b/src/HYDROData/CMakeLists.txt @@@ -1,7 -1,6 +1,7 @@@ - #include(../../CMake/Common.cmake) + include(../../CMake/Common.cmake) set(PROJECT_HEADERS + HYDRO_trace.hxx HYDROData.h HYDROData_AltitudeObject.h HYDROData_Application.h diff --cc src/HYDROData/HYDROData_Bathymetry.cxx index 1e819a86,b1204e6f..9fabcb64 --- a/src/HYDROData/HYDROData_Bathymetry.cxx +++ b/src/HYDROData/HYDROData_Bathymetry.cxx @@@ -64,16 -54,10 +64,17 @@@ HYDROData_Bathymetry::HYDROData_Bathyme HYDROData_Bathymetry::~HYDROData_Bathymetry() { + //DEBTRACE("HYDROData_Bathymetry destructor start " << this); +// if (myQuadtree) +// delete myQuadtree; +// Nodes_3D::iterator it = myListOfNodes.begin(); +// for( ; it != myListOfNodes.end(); ++it) +// delete *it; +// myListOfNodes.clear(); } - QStringList HYDROData_Bathymetry::DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const + QStringList HYDROData_Bathymetry::DumpToPython( const QString& thePyScriptPath, + MapOfTreatedObjects& theTreatedObjects ) const { QStringList aResList = dumpObjectCreation( theTreatedObjects ); QString aBathymetryName = GetObjPyName(); diff --cc src/HYDROData/HYDROData_CalculationCase.cxx index 07397d1a,3919019f..aa0d8619 --- a/src/HYDROData/HYDROData_CalculationCase.cxx +++ b/src/HYDROData/HYDROData_CalculationCase.cxx @@@ -70,18 -75,8 +75,14 @@@ #include #endif - #ifdef WIN32 - #pragma warning ( default: 4251 ) - #endif - #define EXPORT_NAME "HYDRO_" + GetName() +#include +#include + +#define _DEVDEBUG_ +#include "HYDRO_trace.hxx" + IMPLEMENT_STANDARD_HANDLE(HYDROData_CalculationCase, HYDROData_Entity) IMPLEMENT_STANDARD_RTTIEXT(HYDROData_CalculationCase, HYDROData_Entity) @@@ -373,17 -324,15 +330,16 @@@ void HYDROData_CalculationCase::CreateR } void HYDROData_CalculationCase::CreateRegionsAuto( const Handle(HYDROData_Document)& theDoc, - const HYDROData_SplitToZonesTool::SplitDataList& theZones, - const bool theLandCover ) + const HYDROData_SplitToZonesTool::SplitDataList& theZones ) { + DEBTRACE("HYDROData_CalculationCase::CreateRegionsAuto"); QMap aRegionsMap; //object name to region QMap aRegionNameToObjNameMap; - QString aZonesPref = theLandCover ? CALCULATION_LANDCOVER_ZONES_PREF : CALCULATION_ZONES_PREF; - HYDROData_PriorityQueue aPr( this, theLandCover ? DataTag_CustomLandCoverRules : DataTag_CustomRules ); + QString aZonesPref = CALCULATION_ZONES_PREF; + HYDROData_PriorityQueue aPr( this, DataTag_CustomRules ); // 1. First we create a default region for each object included into the calculation case - HYDROData_SequenceOfObjects anObjects = theLandCover ? GetLandCovers() : GetGeometryObjects(); + HYDROData_SequenceOfObjects anObjects = GetGeometryObjects(); for( int i = anObjects.Lower(), n = anObjects.Upper(); i<=n; i++ ) { Handle(HYDROData_Entity) anObj = anObjects.Value( i ); @@@ -417,12 -366,9 +373,10 @@@ } Handle(HYDROData_Entity) aMergeEntity = aRegObj; - if ( !theLandCover ) { - Handle(HYDROData_Object) aMergeObject = Handle(HYDROData_Object)::DownCast( aMergeEntity ); - if ( !aMergeObject.IsNull() ) { - DEBTRACE("aMergeEntity " << aMergeEntity->GetName().toStdString()); - aMergeEntity = aMergeObject->GetAltitudeObject(); - } + Handle(HYDROData_Object) aMergeObject = Handle(HYDROData_Object)::DownCast( aMergeEntity ); + if ( !aMergeObject.IsNull() ) { ++ DEBTRACE("aMergeEntity " << aMergeEntity->GetName().toStdString()); + aMergeEntity = aMergeObject->GetAltitudeObject(); } switch( aMergeType ) @@@ -799,10 -715,9 +723,10 @@@ double HYDROData_CalculationCase::GetAl { double aResAltitude = HYDROData_IAltitudeObject::GetInvalidAltitude(); - Handle(HYDROData_Zone) aZone = GetZoneFromPoint( thePoint, false ); + Handle(HYDROData_Zone) aZone = GetZoneFromPoint( thePoint ); if ( !aZone.IsNull() ) { + //DEBTRACE("GetAltitudeForPoint Region " << theRegion->GetName().toStdString() << " Zone " << aZone->GetName().toStdString()); Handle(HYDROData_Region) aRefRegion = Handle(HYDROData_Region)::DownCast( aZone->GetFatherObject() ); if ( IsEqual( aRefRegion, theRegion ) ) aResAltitude = GetAltitudeForPoint( thePoint, aZone ); diff --cc src/HYDROData/HYDROData_Channel.h index 5b4e694f,372e57a7..0cd9c4a1 --- a/src/HYDROData/HYDROData_Channel.h +++ b/src/HYDROData/HYDROData_Channel.h @@@ -91,24 -92,14 +92,24 @@@ public HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetAllReferenceObjects() const; /** - * Returns the top shape of the object. + * Returns the left edge of the channel. */ - HYDRODATA_EXPORT virtual TopoDS_Shape GetTopShape() const; + HYDRODATA_EXPORT virtual TopoDS_Shape GetLeftShape() const; /** - * Returns the 3d shape of the object. + * Returns the right edge of the channel. */ - HYDRODATA_EXPORT virtual TopoDS_Shape GetShape3D() const; + HYDRODATA_EXPORT virtual TopoDS_Shape GetRightShape() const; + + /** + * Returns the left edge of the channel. + */ + HYDRODATA_EXPORT virtual TopoDS_Shape GetLeftShape() const; + + /** + * Returns the right edge of the channel. + */ + HYDRODATA_EXPORT virtual TopoDS_Shape GetRightShape() const; /** * Update the shape presentations of stream. diff --cc src/HYDROData/HYDROData_Entity.cxx index 6af65981,d10c3b09..a02fc5da --- a/src/HYDROData/HYDROData_Entity.cxx +++ b/src/HYDROData/HYDROData_Entity.cxx @@@ -38,11 -37,22 +37,24 @@@ #include #include +#define _DEVDEBUG_ +#include "HYDRO_trace.hxx" + - //static const Standard_GUID GUID_MUST_BE_UPDATED("80f2bb81-3873-4631-8ddd-940d2119f000"); + HYDROData_SequenceOfObjects::HYDROData_SequenceOfObjects() + : NCollection_Sequence() + { + } + + HYDROData_SequenceOfObjects::HYDROData_SequenceOfObjects( const HYDROData_SequenceOfObjects& theSequence ) + : NCollection_Sequence( theSequence ) + { + } + + HYDROData_SequenceOfObjects::HYDROData_SequenceOfObjects( const NCollection_Sequence& theSequence ) + : NCollection_Sequence( theSequence ) + { + } - IMPLEMENT_STANDARD_HANDLE(HYDROData_Entity,MMgt_TShared) IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Entity,MMgt_TShared) @@@ -637,8 -649,8 +652,9 @@@ QString HYDROData_Entity::getPyTypeID( case KIND_STREAM_ALTITUDE: return "KIND_STREAM_ALTITUDE"; case KIND_OBSTACLE_ALTITUDE: return "KIND_OBSTACLE_ALTITUDE"; case KIND_STRICKLER_TABLE: return "KIND_STRICKLER_TABLE"; - case KIND_LAND_COVER: return "KIND_LAND_COVER"; + case KIND_LAND_COVER_OBSOLETE: return ""; + case KIND_CHANNEL_ALTITUDE: return "KIND_CHANNEL_ALTITUDE"; + case KIND_LAND_COVER_MAP: return "KIND_LAND_COVER_MAP"; default: return "KIND_UNKNOWN"; ///! Unrecognized object } } diff --cc src/HYDROData/HYDROData_Entity.h index 833751ee,44c34dfd..491955de --- a/src/HYDROData/HYDROData_Entity.h +++ b/src/HYDROData/HYDROData_Entity.h @@@ -37,36 -35,36 +35,37 @@@ class TopoDS_Shape ///! Kind of an object in a document typedef int ObjectKind; - const ObjectKind KIND_UNKNOWN = 0; ///! Unrecognized object - const ObjectKind KIND_IMAGE = 1; - const ObjectKind KIND_POLYLINE = 2; - const ObjectKind KIND_BATHYMETRY = 3; - const ObjectKind KIND_ALTITUDE = 4; - const ObjectKind KIND_IMMERSIBLE_ZONE = 5; - const ObjectKind KIND_RIVER = 6; - const ObjectKind KIND_STREAM = 7; - const ObjectKind KIND_CONFLUENCE = 8; - const ObjectKind KIND_CHANNEL = 9; - const ObjectKind KIND_OBSTACLE = 10; - const ObjectKind KIND_DIGUE = 11; - const ObjectKind KIND_PROFILE = 12; - const ObjectKind KIND_PROFILEUZ = 13; - const ObjectKind KIND_POLYLINEXY = 14; - const ObjectKind KIND_CALCULATION = 15; - const ObjectKind KIND_ZONE = 16; - const ObjectKind KIND_REGION = 17; - const ObjectKind KIND_VISUAL_STATE = 18; - const ObjectKind KIND_ARTIFICIAL_OBJECT = 19; - const ObjectKind KIND_NATURAL_OBJECT = 20; - const ObjectKind KIND_DUMMY_3D = 21; - const ObjectKind KIND_SHAPES_GROUP = 22; - const ObjectKind KIND_SPLITTED_GROUP = 23; - const ObjectKind KIND_STREAM_ALTITUDE = 24; - const ObjectKind KIND_OBSTACLE_ALTITUDE = 25; - const ObjectKind KIND_STRICKLER_TABLE = 26; - const ObjectKind KIND_LAND_COVER = 27; - const ObjectKind KIND_CHANNEL_ALTITUDE = 28; - const ObjectKind KIND_LAST = KIND_CHANNEL_ALTITUDE; + const ObjectKind KIND_UNKNOWN = 0; ///! Unrecognized object + const ObjectKind KIND_IMAGE = 1; + const ObjectKind KIND_POLYLINE = 2; + const ObjectKind KIND_BATHYMETRY = 3; + const ObjectKind KIND_ALTITUDE = 4; + const ObjectKind KIND_IMMERSIBLE_ZONE = 5; + const ObjectKind KIND_RIVER = 6; + const ObjectKind KIND_STREAM = 7; + const ObjectKind KIND_CONFLUENCE = 8; + const ObjectKind KIND_CHANNEL = 9; + const ObjectKind KIND_OBSTACLE = 10; + const ObjectKind KIND_DIGUE = 11; + const ObjectKind KIND_PROFILE = 12; + const ObjectKind KIND_PROFILEUZ = 13; + const ObjectKind KIND_POLYLINEXY = 14; + const ObjectKind KIND_CALCULATION = 15; + const ObjectKind KIND_ZONE = 16; + const ObjectKind KIND_REGION = 17; + const ObjectKind KIND_VISUAL_STATE = 18; + const ObjectKind KIND_ARTIFICIAL_OBJECT = 19; + const ObjectKind KIND_NATURAL_OBJECT = 20; + const ObjectKind KIND_DUMMY_3D = 21; + const ObjectKind KIND_SHAPES_GROUP = 22; + const ObjectKind KIND_SPLIT_GROUP = 23; + const ObjectKind KIND_STREAM_ALTITUDE = 24; + const ObjectKind KIND_OBSTACLE_ALTITUDE = 25; + const ObjectKind KIND_STRICKLER_TABLE = 26; + const ObjectKind KIND_LAND_COVER_OBSOLETE = 27; -const ObjectKind KIND_LAND_COVER_MAP = 28; ++const ObjectKind KIND_CHANNEL_ALTITUDE = 28; ++const ObjectKind KIND_LAND_COVER_MAP = 29; + const ObjectKind KIND_LAST = KIND_LAND_COVER_MAP; DEFINE_STANDARD_HANDLE(HYDROData_Entity, MMgt_TShared) @@@ -421,10 -430,12 +431,14 @@@ protected Handle(TDataStd_ReferenceList) getReferenceList( const int theTag, const bool theIsCreate ) const; + + void SetShape( int theTag, const TopoDS_Shape& theShape ); + TopoDS_Shape GetShape( int theTag ) const; + int GetGeomChangeFlag() const; + int GetGeomChangeFlag() const; + protected: /// Array of pointers to the properties of this object; index in this array is returned by \a AddProperty. TDF_Label myLab; ///< label of this object diff --cc src/HYDROData/HYDROData_IInterpolator.cxx index d8037511,80e11a20..da40d517 --- a/src/HYDROData/HYDROData_IInterpolator.cxx +++ b/src/HYDROData/HYDROData_IInterpolator.cxx @@@ -42,10 -38,8 +41,9 @@@ Handle(HYDROData_IAltitudeObject) HYDRO return myAltitudeObject; } - double HYDROData_IInterpolator::GetAltitudeForPoint( - const double theCoordX, const double theCoordY ) const + double HYDROData_IInterpolator::GetAltitudeForPoint( const double theCoordX, const double theCoordY ) const { + DEBTRACE("HYDROData_IInterpolator::GetAltitudeForPoint"); return myAltitudeObject.IsNull() ? HYDROData_IAltitudeObject::GetInvalidAltitude() : myAltitudeObject->GetAltitudeForPoint( gp_XY( theCoordX, theCoordY ) ); } diff --cc src/HYDROData/HYDROData_Iterator.cxx index beec42dc,615454a9..09c6dee2 --- a/src/HYDROData/HYDROData_Iterator.cxx +++ b/src/HYDROData/HYDROData_Iterator.cxx @@@ -23,14 -23,13 +23,14 @@@ #include "HYDROData_CalculationCase.h" #include "HYDROData_Channel.h" #include "HYDROData_Confluence.h" - #include "HYDROData_DummyObject3D.h" #include "HYDROData_Digue.h" - #include "HYDROData_ShapesGroup.h" + #include "HYDROData_DummyObject3D.h" #include "HYDROData_Image.h" #include "HYDROData_ImmersibleZone.h" + #include "HYDROData_LandCoverMap.h" #include "HYDROData_Obstacle.h" #include "HYDROData_ObstacleAltitude.h" +#include "HYDROData_ChannelAltitude.h" #include "HYDROData_Polyline3D.h" #include "HYDROData_PolylineXY.h" #include "HYDROData_Profile.h" @@@ -157,9 -152,10 +157,10 @@@ Handle(HYDROData_Entity) HYDROData_Iter case KIND_STREAM_ALTITUDE: aResult = new HYDROData_StreamAltitude(); break; case KIND_OBSTACLE_ALTITUDE: aResult = new HYDROData_ObstacleAltitude(); break; case KIND_STRICKLER_TABLE: aResult = new HYDROData_StricklerTable(); break; - case KIND_LAND_COVER: aResult = new HYDROData_LandCover(); break; - case KIND_LAND_COVER_MAP: aResult = new HYDROData_LandCoverMap(); break; - + case KIND_LAND_COVER_OBSOLETE: break; + case KIND_CHANNEL_ALTITUDE: aResult = new HYDROData_ChannelAltitude(); break; - default: break; ++ case KIND_LAND_COVER_MAP: aResult = new HYDROData_LandCoverMap(); break; + default: break; } if ( !aResult.IsNull() ) diff --cc src/HYDROData/HYDROData_Object.cxx index 3683d30c,20eead85..240db460 --- a/src/HYDROData/HYDROData_Object.cxx +++ b/src/HYDROData/HYDROData_Object.cxx @@@ -23,13 -23,8 +23,9 @@@ #include "HYDROData_Tool.h" #include "HYDROData_Iterator.h" #include "HYDROData_IAltitudeObject.h" - - #include - #include - #include #include +#include #include diff --cc src/HYDROData/HYDROData_Obstacle.cxx index 2f37ee1d,9c738a11..60b4143a --- a/src/HYDROData/HYDROData_Obstacle.cxx +++ b/src/HYDROData/HYDROData_Obstacle.cxx @@@ -461,19 -474,8 +477,9 @@@ TopoDS_Shape HYDROData_Obstacle::Import return aResShape; } - QColor HYDROData_Obstacle::getDefaultFillingColor() const - { - return DefaultFillingColor(); - } - - QColor HYDROData_Obstacle::getDefaultBorderColor() const - { - return DefaultBorderColor(); - } - ObjectKind HYDROData_Obstacle::getAltitudeObjectType() const { + DEBTRACE("HYDROData_Obstacle::getAltitudeObjectType"); return KIND_OBSTACLE_ALTITUDE; } diff --cc src/HYDROData/HYDROData_ProfileUZ.cxx index bfe75e3b,49fa3899..bfe75e3b mode 100755,100644..100644 --- a/src/HYDROData/HYDROData_ProfileUZ.cxx +++ b/src/HYDROData/HYDROData_ProfileUZ.cxx diff --cc src/HYDROData/HYDROData_Zone.cxx index c0a5a884,661e23c9..6f247edd --- a/src/HYDROData/HYDROData_Zone.cxx +++ b/src/HYDROData/HYDROData_Zone.cxx @@@ -22,20 -22,10 +22,13 @@@ #include "HYDROData_IAltitudeObject.h" #include "HYDROData_Document.h" #include "HYDROData_NaturalObject.h" - #include "HYDROData_LandCover.h" - - #include - #include - - #include - #include - #include + #include +#define _DEVDEBUG_ +#include "HYDRO_trace.hxx" + IMPLEMENT_STANDARD_HANDLE(HYDROData_Zone, HYDROData_Entity) IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Zone, HYDROData_Entity)