From: adv Date: Tue, 3 Dec 2013 07:11:29 +0000 (+0000) Subject: Minor changes. X-Git-Tag: BR_hydro_v_0_4~92 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=84ec5b92ea05194a9d4d413b9bc896cf68d2e3ca;p=modules%2Fhydro.git Minor changes. --- diff --git a/src/HYDROData/HYDROData_Channel.cxx b/src/HYDROData/HYDROData_Channel.cxx index 9ad19c97..40c496aa 100644 --- a/src/HYDROData/HYDROData_Channel.cxx +++ b/src/HYDROData/HYDROData_Channel.cxx @@ -59,9 +59,7 @@ TopoDS_Shape HYDROData_Channel::GetShape3D() const void HYDROData_Channel::Update() { - removeTopShape(); - removeShape3D(); - SetToUpdate( false ); + HYDROData_ArtificialObject::Update(); Handle(HYDROData_Polyline3D) aGuideLine = GetGuideLine(); Handle(HYDROData_Profile) aProfile = GetProfile(); @@ -73,17 +71,21 @@ void HYDROData_Channel::Update() bool HYDROData_Channel::SetGuideLine( const Handle(HYDROData_Polyline3D)& theGuideLine ) { - if ( theGuideLine.IsNull() ) + Handle(HYDROData_Polyline3D) aPrevGuideLine = GetGuideLine(); + + if ( theGuideLine.IsNull() ) + { + RemoveGuideLine(); + return !aPrevGuideLine.IsNull(); + } + + if ( IsEqual( aPrevGuideLine, theGuideLine ) ) return false; - + TopoDS_Wire aHydraulicWire = TopoDS::Wire( theGuideLine->GetTopShape() ); if ( aHydraulicWire.IsNull() ) return false; // The polyline must be a single wire - Handle(HYDROData_Polyline3D) aPrevGuideLine = GetGuideLine(); - if ( IsEqual( aPrevGuideLine, theGuideLine ) ) - return true; - SetReferenceObject( theGuideLine, DataTag_GuideLine ); // Indicate model of the need to update the chanel presentation @@ -112,12 +114,16 @@ void HYDROData_Channel::RemoveGuideLine() bool HYDROData_Channel::SetProfile( const Handle(HYDROData_Profile)& theProfile ) { - if ( theProfile.IsNull() ) - return false; - Handle(HYDROData_Profile) aPrevProfile = GetProfile(); + + if ( theProfile.IsNull() ) + { + RemoveProfile(); + return !aPrevProfile.IsNull(); + } + if ( IsEqual( aPrevProfile, theProfile ) ) - return true; + return false; SetReferenceObject( theProfile, DataTag_Profile );