From 84ec5b92ea05194a9d4d413b9bc896cf68d2e3ca Mon Sep 17 00:00:00 2001 From: adv Date: Tue, 3 Dec 2013 07:11:29 +0000 Subject: [PATCH] Minor changes. --- src/HYDROData/HYDROData_Channel.cxx | 32 +++++++++++++++++------------ 1 file changed, 19 insertions(+), 13 deletions(-) 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 ); -- 2.39.2