X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Stream.cxx;h=c2def15f030fcaccf22861a997e6d5de74748f99;hb=545854182f0363f61284d5abe34c3627d4f3b088;hp=42a62b5771f92a31f0ccbe1475d0e29404041127;hpb=5af3b9f9b6d4827b1ba04b7618539bbcd2a704c8;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Stream.cxx b/src/HYDROData/HYDROData_Stream.cxx index 42a62b57..c2def15f 100644 --- a/src/HYDROData/HYDROData_Stream.cxx +++ b/src/HYDROData/HYDROData_Stream.cxx @@ -95,7 +95,7 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Stream,HYDROData_NaturalObject) HYDROData_Stream::HYDROData_Stream() -: HYDROData_NaturalObject() +: HYDROData_NaturalObject( Geom_3d ) { } @@ -145,16 +145,6 @@ HYDROData_SequenceOfObjects HYDROData_Stream::GetAllReferenceObjects() const return aResSeq; } -TopoDS_Shape HYDROData_Stream::GetTopShape() const -{ - return getTopShape(); -} - -TopoDS_Shape HYDROData_Stream::GetShape3D() const -{ - return getShape3D(); -} - Handle(Geom_BSplineCurve) HYDROData_Stream::buildInterpolationCurve( const Handle(TColgp_HArray1OfPnt)& theArrayOfPnt ) { @@ -279,12 +269,12 @@ void HYDROData_Stream::UpdatePrs() anOutGroup->AddShape( aResultPrs.myOutlet ); } -QColor HYDROData_Stream::DefaultFillingColor() +QColor HYDROData_Stream::DefaultFillingColor() const { return QColor( Qt::green ); } -QColor HYDROData_Stream::DefaultBorderColor() +QColor HYDROData_Stream::DefaultBorderColor() const { return QColor( Qt::transparent ); } @@ -303,59 +293,28 @@ bool HYDROData_Stream::IsValidAsAxis( const Handle(HYDROData_PolylineXY)& theHyd return true; } -TopoDS_Shape getShapeFromGroup( const HYDROData_SequenceOfObjects& theGroups, - const int theGroupId ) -{ - TopoDS_Shape aResShape; - if ( theGroups.Length() != 4 ) - return aResShape; - - Handle(HYDROData_ShapesGroup) aGroup = - Handle(HYDROData_ShapesGroup)::DownCast( theGroups.Value( theGroupId ) ); - if ( aGroup.IsNull() ) - return aResShape; - - TopTools_SequenceOfShape aGroupShapes; - aGroup->GetShapes( aGroupShapes ); - - if ( !aGroupShapes.IsEmpty() ) - aResShape = aGroupShapes.First(); - - return aResShape; -} - TopoDS_Shape HYDROData_Stream::GetLeftShape() const { HYDROData_SequenceOfObjects aGroups = GetGroups(); - return getShapeFromGroup( aGroups, 1 ); + return HYDROData_Tool::getFirstShapeFromGroup( aGroups, 1); } TopoDS_Shape HYDROData_Stream::GetRightShape() const { HYDROData_SequenceOfObjects aGroups = GetGroups(); - return getShapeFromGroup( aGroups, 2 ); + return HYDROData_Tool::getFirstShapeFromGroup( aGroups, 2); } TopoDS_Shape HYDROData_Stream::GetInletShape() const { HYDROData_SequenceOfObjects aGroups = GetGroups(); - return getShapeFromGroup( aGroups, 3 ); + return HYDROData_Tool::getFirstShapeFromGroup( aGroups, 3); } TopoDS_Shape HYDROData_Stream::GetOutletShape() const { HYDROData_SequenceOfObjects aGroups = GetGroups(); - return getShapeFromGroup( aGroups, 4 ); -} - -QColor HYDROData_Stream::getDefaultFillingColor() const -{ - return DefaultFillingColor(); -} - -QColor HYDROData_Stream::getDefaultBorderColor() const -{ - return DefaultBorderColor(); + return HYDROData_Tool::getFirstShapeFromGroup( aGroups, 4); } bool HYDROData_Stream::SetHydraulicAxis( const Handle(HYDROData_PolylineXY)& theAxis ) @@ -373,7 +332,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; } @@ -396,7 +355,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, @@ -530,7 +489,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; } @@ -575,7 +534,7 @@ bool HYDROData_Stream::SetProfiles( const HYDROData_SequenceOfObjects& theProfil SetReferenceObjects( theProfiles, DataTag_Profile ); if ( anIsToUpdate ) - SetToUpdate( true ); + Changed( Geom_3d ); } return true; @@ -618,22 +577,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, @@ -1028,7 +985,8 @@ bool HYDROData_Stream::Interpolate( HYDROData_IProfilesInterpolator* theInterpol return isOK; } -void HYDROData_Stream::CopyTo( const Handle(HYDROData_Entity)& theDestination ) const +void HYDROData_Stream::CopyTo( const Handle(HYDROData_Entity)& theDestination, + bool isGenerateNewName ) const { // Get the document Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( myLab ); @@ -1037,7 +995,7 @@ void HYDROData_Stream::CopyTo( const Handle(HYDROData_Entity)& theDestination ) } // Call base method - HYDROData_Entity::CopyTo( theDestination ); + HYDROData_Entity::CopyTo( theDestination, isGenerateNewName ); Handle(HYDROData_Stream) aStreamCopy = Handle(HYDROData_Stream)::DownCast( theDestination );