X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Stream.cxx;h=63e983ec1d35109f89a4b77de997c7387b09dbf7;hb=fcece92742680e708f87352c32597ec2d84bfe2f;hp=426159b29adf1e15e97278bae879334e21bbfa6b;hpb=d5968172f0907790865b19422eb3a2915c52d8f9;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Stream.cxx b/src/HYDROData/HYDROData_Stream.cxx index 426159b2..63e983ec 100644 --- a/src/HYDROData/HYDROData_Stream.cxx +++ b/src/HYDROData/HYDROData_Stream.cxx @@ -145,7 +145,7 @@ void HYDROData_Stream::Update() Handle(HYDROData_PolylineXY) aHydAxis = GetHydraulicAxis(); HYDROData_SequenceOfObjects aRefProfiles = GetProfiles(); - if ( aHydAxis.IsNull() || aRefProfiles.IsEmpty() ) + if ( aHydAxis.IsNull() || aRefProfiles.Length() < 2 ) return; bool anIsFirst = true; @@ -165,7 +165,7 @@ void HYDROData_Stream::Update() continue; const TopoDS_Shape& aProf3d = aProfile->GetShape3D(); gp_XY aPnt1, aPnt2; - if ( !aProfile->GetFirstPoint( aPnt1 ) || !aProfile->GetLastPoint( aPnt2 ) ) + if ( !aProfile->GetLeftPoint( aPnt1 ) || !aProfile->GetRightPoint( aPnt2 ) ) continue; anArrOfProfiles.SetValue(i,aProfile->GetShape3D());//aProfile->GetTopShape(); anArrOf2DProfiles.SetValue(i,aProfile->GetTopShape()); @@ -770,6 +770,12 @@ void HYDROData_Stream::removeParameter( const int& theIndex ) if ( !aLabel.FindAttribute( TDataStd_RealArray::GetID(), aParamsArray ) ) return; + if ( aParamsArray->Length() == 1 ) + { + removeParametersArray(); + return; + } + TColStd_Array1OfReal aNewArr( aParamsArray->Lower(), aParamsArray->Upper() - 1 ); for ( int i = aParamsArray->Lower(), j = i, k = 0, n = aParamsArray->Upper(); i <= n; ++i, ++k )