]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
refs #636: the flags of update 2d/3d geometry
authorasl <asl@opencascade.com>
Fri, 2 Oct 2015 08:59:56 +0000 (11:59 +0300)
committerasl <asl@opencascade.com>
Fri, 2 Oct 2015 08:59:56 +0000 (11:59 +0300)
33 files changed:
src/HYDROData/HYDROData_Channel.cxx
src/HYDROData/HYDROData_Confluence.cxx
src/HYDROData/HYDROData_DummyObject3D.cxx
src/HYDROData/HYDROData_Entity.cxx
src/HYDROData/HYDROData_Entity.h
src/HYDROData/HYDROData_IAltitudeObject.cxx
src/HYDROData/HYDROData_IPolyline.cxx
src/HYDROData/HYDROData_Image.cxx
src/HYDROData/HYDROData_ImmersibleZone.cxx
src/HYDROData/HYDROData_LandCover.cxx
src/HYDROData/HYDROData_NaturalObject.cxx
src/HYDROData/HYDROData_NaturalObject.h
src/HYDROData/HYDROData_Object.cxx
src/HYDROData/HYDROData_Obstacle.cxx
src/HYDROData/HYDROData_Polyline3D.cxx
src/HYDROData/HYDROData_PolylineXY.cxx
src/HYDROData/HYDROData_Profile.cxx
src/HYDROData/HYDROData_Region.cxx
src/HYDROData/HYDROData_River.cxx
src/HYDROData/HYDROData_ShapesGroup.cxx
src/HYDROData/HYDROData_Stream.cxx
src/HYDROData/HYDROData_StricklerTable.cxx
src/HYDROData/HYDROData_VisualState.cxx
src/HYDROData/HYDROData_Zone.cxx
src/HYDROGUI/HYDROGUI_CalculationOp.cxx
src/HYDROGUI/HYDROGUI_ChannelOp.cxx
src/HYDROGUI/HYDROGUI_DataObject.cxx
src/HYDROGUI/HYDROGUI_LandCoverOp.cxx
src/HYDROGUI/HYDROGUI_Module.cxx
src/HYDROGUI/HYDROGUI_ProfileOp.cxx
src/HYDROGUI/HYDROGUI_StreamOp.cxx
src/HYDROGUI/HYDROGUI_UpdateObjectOp.cxx
src/HYDROPy/HYDROData_Entity.sip

index 6099dba698c20b1b73b0df19c3b3d8a922e2fc0f..c49d1121e8978af0b9ff20aa5cdddd11bbd6e3be 100644 (file)
@@ -73,7 +73,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Channel,HYDROData_ArtificialObject)
 
 
 HYDROData_Channel::HYDROData_Channel()
-: HYDROData_ArtificialObject()
+: HYDROData_ArtificialObject( Geom_3d )
 {
 }
 
@@ -393,7 +393,7 @@ bool HYDROData_Channel::SetGuideLine( const Handle(HYDROData_Polyline3D)& theGui
   SetReferenceObject( theGuideLine, DataTag_GuideLine );
 
   // Indicate model of the need to update the chanel presentation
-  SetToUpdate( true, true );
+  Changed( Geom_3d );
 
   return true;
 }
@@ -413,7 +413,7 @@ void HYDROData_Channel::RemoveGuideLine()
   ClearReferenceObjects( DataTag_GuideLine );
 
   // Indicate model of the need to update the chanel presentation
-  SetToUpdate( true, true );
+  Changed( Geom_3d );
 }
 
 bool HYDROData_Channel::SetProfile( const Handle(HYDROData_Profile)& theProfile )
@@ -432,7 +432,7 @@ bool HYDROData_Channel::SetProfile( const Handle(HYDROData_Profile)& theProfile
   SetReferenceObject( theProfile, DataTag_Profile );
 
   // Indicate model of the need to update the chanel presentation
-  SetToUpdate( true, true );
+  Changed( Geom_3d );
 
   return true;
 }
@@ -452,7 +452,7 @@ void HYDROData_Channel::RemoveProfile()
   ClearReferenceObjects( DataTag_Profile );
 
   // Indicate model of the need to update the chanel presentation
-  SetToUpdate( true, true );
+  Changed( Geom_3d );
 }
 
 ObjectKind HYDROData_Channel::getAltitudeObjectType() const
index 12f19b5a60a72396a9123feafc89662c29d55333..6efb1a7f34a37db464d5aa0ade6d6aa3e06b8407 100644 (file)
@@ -29,7 +29,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Confluence,HYDROData_NaturalObject)
 
 
 HYDROData_Confluence::HYDROData_Confluence()
-: HYDROData_NaturalObject()
+: HYDROData_NaturalObject( Geom_3d )
 {
 }
 
index f4f665b67dcbdf3c250b0a62f315fb42416b9ba8..fbc4851d3b7546b52f77c5afc64b0571934019a8 100644 (file)
@@ -29,7 +29,7 @@ IMPLEMENT_STANDARD_HANDLE(HYDROData_DummyObject3D,HYDROData_Entity)
 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_DummyObject3D,HYDROData_Entity)
 
 HYDROData_DummyObject3D::HYDROData_DummyObject3D()
-: HYDROData_Entity()
+: HYDROData_Entity( Geom_3d )
 {
 }
 
index 65edad85158754df0496ca2305f7bd464a60a9e1..1cb4d0f397bae3f71b75d745bd50b7e9db5da7cc 100644 (file)
@@ -139,10 +139,11 @@ void HYDROData_Entity::Changed( Geometry theChangedGeometry )
   if ( !aGeomChangeAttr.IsNull() )
     aGeomChangeFlag = aGeomChangeAttr->Get();
 
-  if( ( myGeom & theChangedGeometry ) == 0 )
+  int aBitsToChange = ( myGeom & theChangedGeometry );
+  if( aBitsToChange == 0 )
     return;
 
-  aGeomChangeFlag = ( aGeomChangeFlag | theChangedGeometry );
+  aGeomChangeFlag = ( aGeomChangeFlag | aBitsToChange );
   TDataStd_Integer::Set( aGeomChangeLab, aGeomChangeFlag );
 
   HYDROData_Iterator anIter( aDocument );
@@ -154,7 +155,7 @@ void HYDROData_Entity::Changed( Geometry theChangedGeometry )
     {
       Handle(HYDROData_Entity) aRefObject = aRefSeq.Value( i );
       if( aRefObject->Label()==myLab )
-        Changed( theChangedGeometry );
+        anObject->Changed( theChangedGeometry );
     }
   }
 }
index b05fb5d5887ef6c0caaabe24350bceefea6d185a..4e6e5f090190cd1464f353bed41d654b0d734934 100644 (file)
@@ -106,6 +106,7 @@ public:
 
     Geom_3d = Geom_2d | Geom_Z,
     Geom_2d_and_groups = Geom_2d | Geom_Groups,
+    Geom_All = Geom_3d | Geom_Groups | Geom_No,
   };
 
 public:
index 521308afd757d7d142a3afc030076b9abf09da0f..3bafc988e6d5657374af9680d17457ba2ca9351c 100644 (file)
@@ -26,7 +26,7 @@ IMPLEMENT_STANDARD_HANDLE(HYDROData_IAltitudeObject, HYDROData_Entity)
 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_IAltitudeObject, HYDROData_Entity)
 
 HYDROData_IAltitudeObject::HYDROData_IAltitudeObject()
-: HYDROData_Entity()
+: HYDROData_Entity( Geom_Z )
 {
 }
 
index df150b0a83c8525ce4fadbd6f13cec4a6ffc7c5f..695bf84ae3713d30519400c084407bc1a978f863 100755 (executable)
@@ -36,7 +36,7 @@ IMPLEMENT_STANDARD_HANDLE(HYDROData_IPolyline, HYDROData_Entity)
 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_IPolyline, HYDROData_Entity)
 
 HYDROData_IPolyline::HYDROData_IPolyline()
-: HYDROData_Entity()
+: HYDROData_Entity( Geom_2d )
 {
 }
 
index b7ec1096ac9388886b0eee97984c45381809d7d6..e1787adae7950d3dc951c5ca1a327f5a8a681548 100644 (file)
@@ -46,7 +46,7 @@ IMPLEMENT_STANDARD_HANDLE(HYDROData_Image, HYDROData_Entity)
 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Image, HYDROData_Entity)
 
 HYDROData_Image::HYDROData_Image()
-: HYDROData_Entity()
+: HYDROData_Entity( Geom_2d )
 {
 }
 
@@ -175,7 +175,7 @@ QStringList HYDROData_Image::DumpToPython( MapOfTreatedObjects& theTreatedObject
 
 void HYDROData_Image::Update()
 {
-  bool anIsToUpdate = IsMustBeUpdated();
+  bool anIsToUpdate = IsMustBeUpdated( Geom_2d );
 
   HYDROData_Entity::Update();
 
@@ -226,7 +226,7 @@ void HYDROData_Image::Update()
     UpdateTrsf();
   }
 
-  SetToUpdate( false );
+  ClearChanged();
 }
 
 bool HYDROData_Image::IsHas2dPrs() const
@@ -294,7 +294,7 @@ void HYDROData_Image::SetImage(const QImage& theImage)
     SaveByteArray(0, aData, anImage.byteCount());
   }
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 bool HYDROData_Image::LoadImage( const QString& theFilePath )
@@ -326,7 +326,7 @@ void HYDROData_Image::SetFilePath( const QString& theFilePath )
   TCollection_AsciiString anAsciiStr( theFilePath.toStdString().c_str() );
   TDataStd_AsciiString::Set( myLab.FindChild( DataTag_FilePath ), anAsciiStr );
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 QString HYDROData_Image::GetFilePath() const
@@ -362,7 +362,7 @@ void HYDROData_Image::SetTrsf(const QTransform& theTrsf)
   anArray->SetValue(8, theTrsf.m32());
   anArray->SetValue(9, theTrsf.m33());
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 QTransform HYDROData_Image::Trsf() const
@@ -507,7 +507,7 @@ void HYDROData_Image::RemoveAllReferences()
   QImage anImage = Image();
   if ( anImage.isNull() )
   {
-    SetToUpdate( false );
+    ClearChanged();
     return;
   }
 
@@ -528,7 +528,7 @@ void HYDROData_Image::RemoveAllReferences()
 
   SetGlobalPoints( ManualCartesian, aTrsfPointA, aTrsfPointB, aTrsfPointC );
 
-  SetToUpdate( false );
+  ClearChanged();
 }
 
 void HYDROData_Image::SetLocalPoints( const QPoint& thePointA,
@@ -552,7 +552,7 @@ void HYDROData_Image::SetLocalPoints( const QPoint& thePointA,
   if ( theIsUpdate )
     UpdateTrsf();
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 bool HYDROData_Image::GetLocalPoints( QPoint& thePointA,
@@ -607,7 +607,7 @@ void HYDROData_Image::SetGlobalPoints( const TransformationMode& theMode,
   if ( theIsUpdate )
     UpdateTrsf();
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 bool HYDROData_Image::GetGlobalPoints( TransformationMode& theMode,
@@ -759,7 +759,7 @@ bool HYDROData_Image::HasReferencePoints() const
 void HYDROData_Image::SetTrsfMode( const TransformationMode& theMode )
 {
   TDataStd_Integer::Set( myLab.FindChild( DataTag_TrsfMode ), (int)theMode );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 HYDROData_Image::TransformationMode HYDROData_Image::GetTrsfMode() const
@@ -780,7 +780,7 @@ HYDROData_Image::TransformationMode HYDROData_Image::GetTrsfMode() const
 void HYDROData_Image::SetTrsfReferenceImage( const Handle(HYDROData_Image)& theRefImage )
 {
   SetReferenceObject( theRefImage, DataTag_TrsfImage );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 Handle(HYDROData_Image) HYDROData_Image::GetTrsfReferenceImage() const
@@ -791,13 +791,13 @@ Handle(HYDROData_Image) HYDROData_Image::GetTrsfReferenceImage() const
 void HYDROData_Image::RemoveTrsfReferenceImage()
 {
   RemoveReferenceObject( DataTag_TrsfImage );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_Image::AppendReference( const Handle(HYDROData_Entity)& theReferenced )
 {
   AddReferenceObject( theReferenced, 0 );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 int HYDROData_Image::NbReferences() const
@@ -814,26 +814,26 @@ void HYDROData_Image::ChangeReference(
     const int theIndex, Handle(HYDROData_Entity) theReferenced)
 {
   SetReferenceObject( theReferenced, 0, theIndex );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_Image::RemoveReference(const int theIndex)
 {
   RemoveReferenceObject( 0, theIndex );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_Image::ClearReferences()
 {
   ClearReferenceObjects( 0 );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_Image::SetOperatorName( const QString theOpName )
 {
   TCollection_AsciiString anAsciiStr( theOpName.toStdString().c_str() );
   TDataStd_AsciiString::Set( myLab.FindChild( DataTag_Operator ), anAsciiStr );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 QString HYDROData_Image::OperatorName() const
@@ -854,7 +854,7 @@ QString HYDROData_Image::OperatorName() const
 void HYDROData_Image::SetArgs(const QByteArray& theArgs)
 {
   SaveByteArray(DataTag_Operator, theArgs.constData(), theArgs.length());
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 QByteArray HYDROData_Image::Args() const
@@ -873,7 +873,7 @@ void HYDROData_Image::SetIsSelfSplitted(bool theFlag)
   } else {
     myLab.ForgetAttribute(GUID_SELF_SPLITTED);
   }
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 bool HYDROData_Image::IsSelfSplitted() const
index 8382e12ac270dd00363928312ac52e00084a68e3..9b0cfdd89cd567d8a1d56f5e662181252ca6fde3 100644 (file)
@@ -49,7 +49,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_ImmersibleZone,HYDROData_NaturalObject)
 
 
 HYDROData_ImmersibleZone::HYDROData_ImmersibleZone()
-: HYDROData_NaturalObject()
+: HYDROData_NaturalObject( Geom_2d )
 {
 }
 
@@ -265,7 +265,7 @@ void HYDROData_ImmersibleZone::SetPolyline( const Handle(HYDROData_PolylineXY)&
     return;
 
   SetReferenceObject( thePolyline, DataTag_Polyline );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 Handle(HYDROData_PolylineXY) HYDROData_ImmersibleZone::GetPolyline() const
@@ -277,7 +277,7 @@ Handle(HYDROData_PolylineXY) HYDROData_ImmersibleZone::GetPolyline() const
 void HYDROData_ImmersibleZone::RemovePolyline()
 {
   ClearReferenceObjects( DataTag_Polyline );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 
index 278f42c5f38fcc2f830c31bc84c440de00240b72..d17b52430ac43d87f6a1f3e5be0e33cbeab25e31 100644 (file)
@@ -46,6 +46,7 @@ IMPLEMENT_STANDARD_HANDLE( HYDROData_LandCover, HYDROData_Entity )
 IMPLEMENT_STANDARD_RTTIEXT( HYDROData_LandCover, HYDROData_Entity )
 
 HYDROData_LandCover::HYDROData_LandCover()
+: HYDROData_Entity( Geom_2d )
 {
 }
 
@@ -133,7 +134,7 @@ void HYDROData_LandCover::Update()
 void HYDROData_LandCover::SetPolylines( const HYDROData_SequenceOfObjects& thePolylines )
 {
   SetReferenceObjects( thePolylines, DataTag_Polylines );
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 HYDROData_SequenceOfObjects HYDROData_LandCover::GetPolylines() const
index fb7e9314c7dee1b01c4286769e0aa48462a08d73..d11424558259d25e638989b4f6016339ef1d2472 100644 (file)
@@ -21,8 +21,8 @@
 IMPLEMENT_STANDARD_HANDLE(HYDROData_NaturalObject,HYDROData_Object)
 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_NaturalObject,HYDROData_Object)
 
-HYDROData_NaturalObject::HYDROData_NaturalObject()
-: HYDROData_Object()
+HYDROData_NaturalObject::HYDROData_NaturalObject( Geometry theGeometry )
+: HYDROData_Object( theGeometry )
 {
 }
 
index 4454437de7dcf8e8e3e7cc9380d8861ad322ce05..e002b9a7b2733aabfa486fe62297bec2d06c5134 100644 (file)
@@ -48,7 +48,7 @@ protected:
    * Creates new object in the internal data structure. Use higher level objects 
    * to create objects with real content.
    */
-  HYDRODATA_EXPORT HYDROData_NaturalObject();
+  HYDRODATA_EXPORT HYDROData_NaturalObject( Geometry );
 
   /**
    * Destructs properties of the object and object itself, removes it from the document.
index fff074adebd0d85ed9f4dbb78b5ae42b49b1de85..88ce930a911e848c7534fa423dcb059dff59b4ba 100644 (file)
@@ -75,12 +75,12 @@ void HYDROData_Object::SetName( const QString& theName )
 
 void HYDROData_Object::Update()
 {
-  if( IsMustBeUpdated2d() )
+  if( IsMustBeUpdated( Geom_2d ) )
   {
     removeTopShape();
     removeGroupObjects();
   }
-  if( IsMustBeUpdated3d() )
+  if( IsMustBeUpdated( Geom_3d ) )
     removeShape3D();
 
   checkAndSetAltitudeObject();
index 1218bbc4ed6ae14e24c8b08e8b6bca2439eca375..3275982348e08efb6209c5f67a17e2e55ccc5ab9 100644 (file)
@@ -62,7 +62,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Obstacle,HYDROData_ArtificialObject)
 
 
 HYDROData_Obstacle::HYDROData_Obstacle()
-: HYDROData_ArtificialObject()
+: HYDROData_ArtificialObject( Geom_3d )
 {
 }
 
index 67098e95e274235ccb83efbfa17e14121e35af3c..c53dd105ab789b6fb12491f67d34023560c3821b 100644 (file)
@@ -55,7 +55,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Polyline3D,HYDROData_Object)
 
 
 HYDROData_Polyline3D::HYDROData_Polyline3D()
-: HYDROData_Object()
+: HYDROData_Object( Geom_3d )
 {
 }
 
@@ -246,7 +246,7 @@ bool HYDROData_Polyline3D::SetPolylineXY( const Handle(HYDROData_PolylineXY)& th
     updateChildProfilePoints();
 
   // Indicate model of the need to update the polyline presentation
-  SetToUpdate( true );
+  Changed( Geom_2d );
 
   return true;
 }
@@ -266,7 +266,7 @@ void HYDROData_Polyline3D::RemovePolylineXY()
   ClearReferenceObjects( DataTag_PolylineXY );
 
   // Indicate model of the need to update the polyline presentation
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 bool HYDROData_Polyline3D::SetProfileUZ( const Handle(HYDROData_ProfileUZ)& theProfile )
@@ -284,7 +284,7 @@ bool HYDROData_Polyline3D::SetProfileUZ( const Handle(HYDROData_ProfileUZ)& theP
   RemoveAltitudeObject();
 
   // Indicate model of the need to update the polyline presentation
-  SetToUpdate( true );
+  Changed( Geom_Z );
 
   return true;
 }
@@ -304,7 +304,7 @@ void HYDROData_Polyline3D::RemoveProfileUZ()
   ClearReferenceObjects( DataTag_ProfileUZ );
 
   // Indicate model of the need to update the polyline presentation
-  SetToUpdate( true );
+  Changed( Geom_Z );
 }
 
 bool HYDROData_Polyline3D::SetAltitudeObject( 
index 839e949a123ba47ce64dd36d253f7dca79cb6e93..8c97c15d21687c0fe0ee7c020d4a585a9bb7dfe4 100755 (executable)
@@ -484,7 +484,7 @@ void HYDROData_PolylineXY::Update()
   if ( !IsEditable() )
   {
     // If polyline is not editable we no need to update it wire
-    SetToUpdate( false );
+    ClearChanged();
     return;
   }
 
@@ -710,7 +710,7 @@ void HYDROData_PolylineXY::AddSection( const TCollection_AsciiString& theSectNam
   aTypesList->Append( theSectionType );
   aClosuresList->Append( theIsClosed );
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 TCollection_AsciiString HYDROData_PolylineXY::GetSectionName( const int theSectionIndex ) const
@@ -754,8 +754,6 @@ void HYDROData_PolylineXY::SetSectionName( const int                      theSec
   TDataStd_ListIteratorOfListOfExtendedString aNamesIter( anOldNamesList );
   for ( int i = 0; aNamesIter.More(); aNamesIter.Next(), ++i )
     aNamesList->Append( i == theSectionIndex ? aNewSectName : aNamesIter.Value() );
-
-  SetToUpdate( true );
 }
 
 HYDROData_PolylineXY::SectionType HYDROData_PolylineXY::GetSectionType( const int theSectionIndex ) const
@@ -793,7 +791,7 @@ void HYDROData_PolylineXY::SetSectionType( const int         theSectionIndex,
   for ( int i = 0; aTypesIter.More(); aTypesIter.Next(), ++i )
     aTypesList->Append( i == theSectionIndex ? theSectionType : aTypesIter.Value() );
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 bool HYDROData_PolylineXY::IsClosedSection( const int theSectionIndex ) const
@@ -831,7 +829,7 @@ void HYDROData_PolylineXY::SetSectionClosed( const int  theSectionIndex,
   for ( int i = 0; aClosuresIter.More(); aClosuresIter.Next(), ++i )
     aClosuresList->Append( i == theSectionIndex ? theIsClosed : (bool)aClosuresIter.Value() );
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_PolylineXY::GetSections( NCollection_Sequence<TCollection_AsciiString>& theSectNames,
@@ -913,14 +911,14 @@ void HYDROData_PolylineXY::RemoveSection( const int theSectionIndex )
     removePointsLists( theSectionIndex );
   }
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_PolylineXY::RemoveSections()
 {
   removeSectionsLists();
   removePointsLists();
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_PolylineXY::AddPoint( const int    theSectionIndex,
@@ -966,7 +964,7 @@ void HYDROData_PolylineXY::AddPoint( const int    theSectionIndex,
     }
   }
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_PolylineXY::SetPoint( const int    theSectionIndex,
@@ -1017,7 +1015,7 @@ void HYDROData_PolylineXY::SetPoint( const int    theSectionIndex,
     }
   }
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_PolylineXY::SetPoints( const int         theSectionIndex,
@@ -1073,7 +1071,7 @@ void HYDROData_PolylineXY::RemovePoint( const int theSectionIndex,
     }
   }
 
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 HYDROData_PolylineXY::PointsList HYDROData_PolylineXY::GetPoints( const int theSectionIndex, bool IsConvertToGlobal ) const
@@ -1156,7 +1154,7 @@ void HYDROData_PolylineXY::UpdateLocalCS( double theDx, double theDy )
     }
     SetPoints( i, aPoints );
   }
-  SetToUpdate( true );
+  Changed( Geom_2d );
 }
 
 void HYDROData_PolylineXY::Transform( const QTransform& theTrsf )
index 2649e2b04a26c032477e1ae1af2d364c4f337b7b..9c4eda1d8288de01ba5a2b436f6acaa4b6e9bca2 100755 (executable)
@@ -56,7 +56,7 @@ IMPLEMENT_STANDARD_HANDLE(HYDROData_Profile, HYDROData_Object)
 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Profile, HYDROData_Object)
 
 HYDROData_Profile::HYDROData_Profile()
-: HYDROData_Object()
+: HYDROData_Object( Geom_3d )
 {
 }
 
@@ -239,7 +239,7 @@ void HYDROData_Profile::SetLeftPoint( const gp_XY& theGPoint, bool IsConvertFrom
   anArray->SetValue( 0, aLPoint.X() );
   anArray->SetValue( 1, aLPoint.Y() );
 
-  SetToUpdate( true );
+  Changed( Geom_3d );
 }
 
 bool HYDROData_Profile::GetLeftPoint( gp_XY& thePoint, bool IsConvertToGlobal,
@@ -291,7 +291,7 @@ void HYDROData_Profile::SetRightPoint( const gp_XY& theGPoint, bool IsConvertFro
   anArray->SetValue( 0, aLPoint.X() );
   anArray->SetValue( 1, aLPoint.Y() );
 
-  SetToUpdate( true );
+  Changed( Geom_3d );
 }
 
 bool HYDROData_Profile::GetRightPoint( gp_XY& thePoint, bool IsConvertToGlobal,
@@ -336,7 +336,7 @@ void HYDROData_Profile::Invalidate()
   if ( !aLastLabel.IsNull() )
     aLastLabel.ForgetAllAttributes();
 
-  SetToUpdate( true );
+  Changed( Geom_3d );
 }
 
 Handle(HYDROData_ProfileUZ) HYDROData_Profile::GetProfileUZ( const bool theIsCreate ) const
@@ -369,7 +369,7 @@ void HYDROData_Profile::RemovePoints()
   if ( !aProfileUZ.IsNull() )
   {
     aProfileUZ->RemoveSections();
-    SetToUpdate( true );
+    Changed( Geom_3d );
   }
 }
 
@@ -384,7 +384,7 @@ void HYDROData_Profile::SetParametricPoints( const HYDROData_ProfileUZ::PointsLi
     aProfileUZ->AddPoint( 0, aPoint );
   }
 
-  SetToUpdate( true );
+  Changed( Geom_3d );
 }
 
 HYDROData_ProfileUZ::PointsList HYDROData_Profile::GetParametricPoints() const
index c82d17e9d4ea42aa3e38597b1f5400a63bcbf669..582357e8dc2f33fce07215099e70dd3bfe9105ef 100644 (file)
@@ -52,7 +52,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Region, HYDROData_Entity)
 
 
 HYDROData_Region::HYDROData_Region()
- : HYDROData_Entity()
+ : HYDROData_Entity( Geom_2d )
 {
 }
 
index 2bb5cef767d311822810ed892643bf54772fab89..88f7c84ce9b9a936640b31191cf6e8a9b1b7eb56 100644 (file)
@@ -29,7 +29,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_River,HYDROData_NaturalObject)
 
 
 HYDROData_River::HYDROData_River()
-: HYDROData_NaturalObject()
+: HYDROData_NaturalObject( Geom_3d )
 {
 }
 
index 3501522148c06f9bad65239ca0433896b1e9c665..12807de7f35040acbb6d59202f279c777d3368da 100644 (file)
@@ -137,7 +137,7 @@ void HYDROData_ShapesGroup::GroupDefinition::Dump( std::ostream&           theSt
 
 
 HYDROData_ShapesGroup::HYDROData_ShapesGroup()
-: HYDROData_Entity()
+: HYDROData_Entity( Geom_Groups )
 {
 }
 
index 242310905264fab10a71851065867906ac382c1d..a0f663f836bc9bae25390bd0f99351c97ca058f1 100644 (file)
@@ -95,7 +95,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Stream,HYDROData_NaturalObject)
 
 
 HYDROData_Stream::HYDROData_Stream()
-: HYDROData_NaturalObject()
+: HYDROData_NaturalObject( Geom_3d )
 {
 }
 
@@ -352,7 +352,7 @@ bool HYDROData_Stream::SetHydraulicAxis( const Handle(HYDROData_PolylineXY)& the
   updateProfilesOrder();
 
   // Indicate model of the need to update the stream presentation
-  SetToUpdate( true );
+  Changed( Geom_3d );
 
   return true;
 }
@@ -375,7 +375,7 @@ void HYDROData_Stream::RemoveHydraulicAxis()
   RemoveProfiles();
 
   // Indicate model of the need to update the stream presentation
-  SetToUpdate( true );
+  Changed( Geom_3d );
 }
 
 bool HYDROData_Stream::HasIntersection( const Handle(HYDROData_Profile)& theProfile,
@@ -509,7 +509,7 @@ bool HYDROData_Stream::AddProfile( const Handle(HYDROData_Profile)& theProfile )
   insertProfileInToOrder( theProfile, aProfileIndex );
   
   // Indicate model of the need to update the stream presentation
-  SetToUpdate( true );
+  Changed( Geom_3d );
 
   return true;
 }
@@ -554,7 +554,7 @@ bool HYDROData_Stream::SetProfiles( const HYDROData_SequenceOfObjects& theProfil
     SetReferenceObjects( theProfiles, DataTag_Profile );
 
     if ( anIsToUpdate )
-      SetToUpdate( true );
+      Changed( Geom_3d );
   }
 
   return true;
@@ -597,22 +597,20 @@ bool HYDROData_Stream::RemoveProfile( const Handle(HYDROData_Profile)& theProfil
   removeParameter( aProfileIndex );
 
   // Indicate model of the need to update the stream presentation
-  SetToUpdate( true );
+  Changed( Geom_3d );
 
   return true;
 }
 
 void HYDROData_Stream::RemoveProfiles()
 {
-  bool anIsToUpdate = IsMustBeUpdated() || NbReferenceObjects( DataTag_Profile ) > 0;
-
   ClearReferenceObjects( DataTag_Profile );
 
   // Remove the parameters array
   removeParametersArray();
 
   // Indicate model of the need to update the stream presentation
-  SetToUpdate( anIsToUpdate );
+  Changed( Geom_3d );
 }
 
 void HYDROData_Stream::insertProfileInToOrder( const Handle(HYDROData_Profile)& theProfile,
index d3ef0b86fbf945bc4820547a44db1bb9e05422e3..5d7623d8047cedf9f153be9b5e9d86a77f25fae4 100644 (file)
@@ -32,7 +32,8 @@
 IMPLEMENT_STANDARD_HANDLE( HYDROData_StricklerTable, HYDROData_Entity )
     IMPLEMENT_STANDARD_RTTIEXT( HYDROData_StricklerTable, HYDROData_Entity )
 
-    HYDROData_StricklerTable::HYDROData_StricklerTable()
+HYDROData_StricklerTable::HYDROData_StricklerTable()
+: HYDROData_Entity( Geom_No )
 {
 }
 
index e2867ea8e3e4a199ddbbb3267a00cc2f3b71c61c..e7d8ff79529ffb5e03bf33c67669db9f120ce1fc 100644 (file)
@@ -24,7 +24,7 @@ IMPLEMENT_STANDARD_HANDLE(HYDROData_VisualState, HYDROData_Entity)
 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_VisualState, HYDROData_Entity)
 
 HYDROData_VisualState::HYDROData_VisualState()
-: HYDROData_Entity()
+: HYDROData_Entity( Geom_No )
 {
 }
 
index c6e3da1af9650fb148aa9bdd0946e87c38a3cd7d..b114810b012e2afb13311484aa514abb02fc4956 100644 (file)
@@ -38,7 +38,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Zone, HYDROData_Entity)
 
 
 HYDROData_Zone::HYDROData_Zone()
-: HYDROData_Entity()
+: HYDROData_Entity( Geom_2d )
 {
   myInterpolator = NULL;
 }
index edce573b2294e7e2bd3bc4afe9f68df1566c1e42..c4d3902e5490128ccc2ad2349a8b8b5c27dd4c19 100644 (file)
@@ -632,7 +632,7 @@ void HYDROGUI_CalculationOp::onRemoveObjects()
 bool HYDROGUI_CalculationOp::confirmRegionsChange() const
 {
   // Check if the case is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d );
   if ( !isConfirmed )
   {
     // If not modified check if the case has already defined regions with zones
@@ -657,7 +657,7 @@ bool HYDROGUI_CalculationOp::confirmRegionsChange() const
 bool HYDROGUI_CalculationOp::confirmOrderChange() const
 {
   // Check if the case is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d );
   if ( !isConfirmed )
   {
     // If not modified check if the case has already defined regions with zones
@@ -682,7 +682,7 @@ bool HYDROGUI_CalculationOp::confirmOrderChange() const
 bool HYDROGUI_CalculationOp::confirmRuleChange() const
 {
   // Check if the case is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d );
   if ( !isConfirmed )
   {
     // If not modified check if the case has already defined regions with zones
@@ -707,7 +707,7 @@ bool HYDROGUI_CalculationOp::confirmRuleChange() const
 bool HYDROGUI_CalculationOp::confirmModeChange() const
 {
   // Check if the case is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d );
   if ( !isConfirmed )
   {
     // If not modified check if the case has already defined regions with zones
@@ -761,7 +761,7 @@ bool HYDROGUI_CalculationOp::confirmContinueWithWarning( const HYDROData_Warning
 bool HYDROGUI_CalculationOp::confirmLandCoverRegionsChange() const
 {
   // Check if the case is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_No );
   if ( !isConfirmed )
   {
     // If not modified check if the case has already defined regions with land cover zones
@@ -786,7 +786,7 @@ bool HYDROGUI_CalculationOp::confirmLandCoverRegionsChange() const
 bool HYDROGUI_CalculationOp::confirmLandCoverModeChange() const
 {
   // Check if the case is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_No );
   if ( !isConfirmed )
   {
     // If not modified check if the case has already defined regions with land cover zones
@@ -811,7 +811,7 @@ bool HYDROGUI_CalculationOp::confirmLandCoverModeChange() const
 bool HYDROGUI_CalculationOp::confirmLandCoverOrderChange() const
 {
   // Check if the case is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_No );
   if ( !isConfirmed )
   {
     // If not modified check if the case has already defined regions with land cover zones
@@ -836,7 +836,7 @@ bool HYDROGUI_CalculationOp::confirmLandCoverOrderChange() const
 bool HYDROGUI_CalculationOp::confirmLandCoverRuleChange() const
 {
   // Check if the case is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_No );
   if ( !isConfirmed )
   {
     // If not modified check if the case has already defined regions with land cover zones
@@ -987,10 +987,10 @@ void HYDROGUI_CalculationOp::onNext( const int theIndex )
       }
     }
     aPanel->setStricklerTableNames( aList, anEntryList );
-    bool anUpdateState = myEditedObject->IsMustBeUpdated();
+    //@ASL: bool anUpdateState = myEditedObject->IsMustBeUpdated();
     if ( !aList.isEmpty() )
       aPanel->setStricklerTable( aList.at( 0 ), false );
-    myEditedObject->SetToUpdate( anUpdateState );
+    //@ASL: myEditedObject->SetToUpdate( anUpdateState );
 
     // Fill in list widget with all available land covers
     aSeq = HYDROGUI_Tool::GetLandCovers( module() );
@@ -1060,7 +1060,7 @@ void HYDROGUI_CalculationOp::onNext( const int theIndex )
     if ( aMode == HYDROData_CalculationCase::AUTOMATIC )
     {
       // Set objects in the specified order
-      if( myEditedObject->IsMustBeUpdated() )
+      if( myEditedObject->IsMustBeUpdated(  HYDROData_Entity::Geom_2d ) )
       {
         myEditedObject->RemoveGeometryObjects();
         foreach ( const QString& aName, aPanel->getAllGeomObjects() )
@@ -1093,7 +1093,7 @@ void HYDROGUI_CalculationOp::onNext( const int theIndex )
     if ( aMode == HYDROData_CalculationCase::AUTOMATIC )
     {
       // Set objects in the specified order
-      if( myEditedObject->IsMustBeUpdated() )
+      if( myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d ) )
       {
         myEditedObject->RemoveLandCovers();
         foreach ( const QString& aName, aPanel->getAllLandCovers() )
@@ -1119,7 +1119,7 @@ void HYDROGUI_CalculationOp::onNext( const int theIndex )
     }
     aPanel->setEditLandCoverZonesEnabled( aMode == HYDROData_CalculationCase::MANUAL );
          
-    if ( myEditedObject->IsMustBeUpdated() )
+    if ( myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_No ) )
     {
       myShowZones = true;
       myEditedObject->Update();
@@ -1577,7 +1577,7 @@ void HYDROGUI_CalculationOp::setAvailableGroups()
       aGroupsNames.append( aGroup->GetName() );
     }
   }
-  if( myEditedObject->IsMustBeUpdated() ) {
+  if( myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d ) ) {
     for( int anIndex = 1, aLength = aSeq.Length(); anIndex <= aLength; anIndex++ ) {
       Handle(HYDROData_ShapesGroup) aGeomGroup =
         Handle(HYDROData_ShapesGroup)::DownCast( aSeq.Value( anIndex ) );
@@ -1590,7 +1590,7 @@ void HYDROGUI_CalculationOp::setAvailableGroups()
   aPanel->setAvailableGroups( aGroupsNames );
   aPanel->includeGroups( aList );
 
-  bool isUpdated = myEditedObject->IsMustBeUpdated();
+  //@ASL: bool isUpdated = myEditedObject->IsMustBeUpdated();
 }
 
 void HYDROGUI_CalculationOp::onAddGroups()
@@ -1747,7 +1747,7 @@ void HYDROGUI_CalculationOp::onOrderChanged( bool& isConfirmed )
 
   isConfirmed = confirmOrderChange();
   if( isConfirmed )
-    myEditedObject->SetToUpdate( true );
+    myEditedObject->Changed( HYDROData_Entity::Geom_2d );
 }
 
 void HYDROGUI_CalculationOp::onOrderLandCoverChanged( bool& isConfirmed )
@@ -1759,7 +1759,7 @@ void HYDROGUI_CalculationOp::onOrderLandCoverChanged( bool& isConfirmed )
 
   isConfirmed = confirmLandCoverOrderChange();
   if( isConfirmed )
-    myEditedObject->SetToUpdate( true );
+    myEditedObject->Changed( HYDROData_Entity::Geom_No );
 }
 
 void HYDROGUI_CalculationOp::onRuleChanged( bool& isConfirmed )
@@ -1771,7 +1771,7 @@ void HYDROGUI_CalculationOp::onRuleChanged( bool& isConfirmed )
 
   isConfirmed = confirmRuleChange();
   if( isConfirmed )
-    myEditedObject->SetToUpdate( true );
+    myEditedObject->Changed( HYDROData_Entity::Geom_2d );
 }
 
 void HYDROGUI_CalculationOp::onRuleLandCoverChanged( bool& isConfirmed )
@@ -1783,7 +1783,7 @@ void HYDROGUI_CalculationOp::onRuleLandCoverChanged( bool& isConfirmed )
 
   isConfirmed = confirmLandCoverRuleChange();
   if( isConfirmed )
-    myEditedObject->SetToUpdate( true );
+    myEditedObject->Changed( HYDROData_Entity::Geom_No );
 }
 
 void HYDROGUI_CalculationOp::onRegenerateColors()
index f00d5804c1d847b70661f8ba8f19570b55bd2550..1141a0061dce47da48d3e97124fc870ccb7ba39d 100644 (file)
@@ -211,7 +211,7 @@ bool HYDROGUI_ChannelOp::processApply( int& theUpdateFlags,
     myEditedObject->SetProfile( aProfile );
   }
 
-  if ( myEditedObject->IsMustBeUpdated() )
+  if ( myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d ) )
     myEditedObject->Update();
 
   erasePreview();
index e0183809bff9da876c0cd9f5bdcd50d93d4ed0e5..8ec9658dab3b3c3120276eaca84a192d9b5e15f6 100644 (file)
@@ -74,7 +74,7 @@ QFont HYDROGUI_DataObject::font( const int theId ) const
   if( theId == NameId )
   {
     Handle(HYDROData_Entity) aDataObject = modelObject();
-    if( !aDataObject.IsNull() && aDataObject->IsMustBeUpdated() )
+    if( !aDataObject.IsNull() && aDataObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) )
     {
       aFont.setItalic( true );
       aFont.setBold( true );
@@ -108,7 +108,7 @@ QColor HYDROGUI_DataObject::color( const ColorRole theRole, const int theId ) co
   if ( !aColor.isValid() )
   {
     Handle(HYDROData_Entity) aDataObject = modelObject();
-    if( !aDataObject.IsNull() && aDataObject->IsMustBeUpdated() )
+    if( !aDataObject.IsNull() && aDataObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) )
     {
       switch ( theRole )
       {
@@ -148,7 +148,7 @@ QPixmap HYDROGUI_DataObject::icon( const int theId ) const
     }
     else
     {
-      QString aNeedUpdate( aDataObject->IsMustBeUpdated() ? "M_" : "" );
+      QString aNeedUpdate( aDataObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) ? "M_" : "" );
 
       int anObjectKind = (int)aDataObject->GetKind();
       if ( anObjectKind == KIND_DUMMY_3D )
index 17ac4487b9240f3af18e973d34092387fc4a8712..32d45fd4ddd11d954b0e9e876464bd0229c5b176 100644 (file)
@@ -372,7 +372,7 @@ bool HYDROGUI_LandCoverOp::confirmPolylinesChange() const
     return true;
 
   // Check if the land cover object is already modified or not
-  bool isConfirmed = myEditedObject->IsMustBeUpdated();
+  bool isConfirmed = myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d );
   if ( !isConfirmed )
   {
     // If not modified check if the land cover has already defined polylines
index 60609a971612abb30b26f6291b1901b73daa82a9..81ad9fa08755b9f788dd910c46f02633b4c3bd1b 100644 (file)
@@ -399,7 +399,7 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
       anIsVisibleInSelection |= aVisibility;
       anIsHiddenInSelection |= !aVisibility;
 
-      if ( anObject->CanBeUpdated() && anObject->IsMustBeUpdated() )
+      if ( anObject->CanBeUpdated() && anObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) )
       {
         anIsMustObjectBeUpdated = true;
       }
index 759795a528cc20c5eb0ae59ae81ab4a971710cb8..d7995dd18a865a612f8529c91ec4b32ccba1b137 100644 (file)
@@ -232,7 +232,7 @@ bool HYDROGUI_ProfileOp::processApply( int& theUpdateFlags,
   }
 
   // At first we update the child u,z profile object
-  aProfileUZ->SetToUpdate( true );
+  aProfileUZ->Changed( HYDROData_Entity::Geom_2d );
   aProfileUZ->Update();
 
   // And now we update our edited object
index 6162acb8e391d9ae2836e8f09dc9e084886dbd42..4123e5be98b1b1b580eff9e0096215e058e8b3c1 100755 (executable)
@@ -245,7 +245,7 @@ bool HYDROGUI_StreamOp::processApply( int& theUpdateFlags,
   myEditedObject->SetHydraulicAxis( aHydAxis );
   myEditedObject->SetProfiles( aRefProfiles, false );
 
-  if ( myEditedObject->IsMustBeUpdated() )
+  if ( myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d ) )
     myEditedObject->Update();
 
   if ( !myIsEdit )
index d7925e36df72fda09021920f105fa64a084745f0..08a1de813863cefaf12ceb177f98c0b8fe66aca8 100644 (file)
@@ -73,7 +73,7 @@ void HYDROGUI_UpdateObjectOp::updateObject( const Handle(HYDROData_Entity)& theO
     updateObject( anObject, theMapOfTreated );
   }
 
-  if ( !myIsForced && !theObject->IsMustBeUpdated() )
+  if ( !myIsForced && !theObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) )
     return;
 
   theObject->Update();
index 7ef4fd137546ccc860428ea26da70bb4129f55a4..ee4e48417ad23aa3c5784c438a799a6f2b76d5fc 100644 (file)
@@ -154,6 +154,16 @@ class HYDROData_Entity
 %End
 
 public:
+  enum Geometry
+  {
+    Geom_No = 1,
+    Geom_2d = 2,
+    Geom_Z  = 4,
+    Geom_Groups = 8,
+
+    Geom_3d = 6,
+    Geom_2d_and_groups = 10,
+  };
 
   /**
    * Returns the kind of this object. Must be redefined in all objects of known type.
@@ -186,19 +196,6 @@ public:
    */
   virtual QVariant GetDataVariant();
 
-
-  /**
-   * Sets the "MustBeUpdated" flag: if object is depended on updated features.
-   * \param theFlag is true for objects that must be updated, false for up-to-date
-   */
-  virtual void SetToUpdate( bool theFlag );
-
-  /**
-   * Returns the "MustBeUpdated" flag: is object data must be updated or not
-   * \returns false if object is up to date
-   */
-  virtual bool IsMustBeUpdated() const;
-
   /**
    * Returns flag indicating that object is updateble or not.
    */
@@ -261,7 +258,7 @@ protected:
    * Creates new object in the internal data structure. Use higher level objects 
    * to create objects with real content.
    */
-  HYDROData_Entity();
+  HYDROData_Entity( Geometry );
 
   /**
    * Destructs properties of the object and object itself, removes it from the document.