+ Handle(HYDROData_IAltitudeObject) anAltitudeObj = aZoneObj->GetAltitudeObject();
+ if ( !anAltitudeObj.IsNull() && !anAltitudeObj->IsRemoved() )
+ createObject( aBathSect, anAltitudeObj, aGuiObj->entry(), false );
+ }
+ else if ( anObjectKind == KIND_POLYLINE )
+ {
+ Handle(HYDROData_Polyline3D) aPolyline3D =
+ Handle(HYDROData_Polyline3D)::DownCast( aDataObj );
+
+ LightApp_DataObject* aPolylineSect =
+ createObject( aGuiObj, tr( "POLYLINE3D_POLYLINE" ), aGuiObj->entry() );
+
+ Handle(HYDROData_PolylineXY) aPolylineXY = aPolyline3D->GetPolylineXY();
+ if ( !aPolylineXY.IsNull() && !aPolylineXY->IsRemoved() )
+ createObject( aPolylineSect, aPolylineXY, aGuiObj->entry(), false );
+
+ LightApp_DataObject* aProfileSect =
+ createObject( aGuiObj, tr( "POLYLINE3D_PROFILE" ), aGuiObj->entry() );
+
+ Handle(HYDROData_ProfileUZ) aProfileUZ = aPolyline3D->GetProfileUZ();
+ if ( aProfileUZ.IsNull() || aProfileUZ->IsRemoved() )
+ aProfileUZ = aPolyline3D->GetChildProfileUZ( false );
+
+ if ( !aProfileUZ.IsNull() && !aProfileUZ->IsRemoved() )
+ {
+ Handle(HYDROData_Profile) aProfile =
+ Handle(HYDROData_Profile)::DownCast( aProfileUZ->GetFatherObject() );
+ if ( !aProfile.IsNull() && !aProfile->IsRemoved() )
+ createObject( aProfileSect, aProfile, aGuiObj->entry(), false );
+ }
+
+ LightApp_DataObject* aBathSect =
+ createObject( aGuiObj, tr( "POLYLINE3D_BATHYMETRY" ), aGuiObj->entry() );
+
+ Handle(HYDROData_IAltitudeObject) anAltitudeObj = aPolyline3D->GetAltitudeObject();
+ if ( !anAltitudeObj.IsNull() && !anAltitudeObj->IsRemoved() )
+ createObject( aBathSect, anAltitudeObj, aGuiObj->entry(), false );