// Try to import the file
if ( aFileSuf == "xyz" )
aRes = importFromXYZFile( aFile, aPoints );
-
+
// Close the file
aFile.close();
+
+
+ // Convert from global to local CS
+ Handle_HYDROData_Document aDoc = HYDROData_Document::Document( myLab );
+ AltitudePoints::Iterator anIter( aPoints );
+ for ( ; anIter.More(); anIter.Next() )
+ {
+ AltitudePoint& aPoint = anIter.ChangeValue();
+ aDoc->Transform( aPoint, true );
+ }
if ( aRes )
{
}
-bool HYDROData_Bathymetry::CreateBoundaryPolyline() const
+Handle_HYDROData_PolylineXY HYDROData_Bathymetry::CreateBoundaryPolyline() const
{
Handle(HYDROData_Document) aDocument = HYDROData_Document::Document( myLab );
Handle_HYDROData_PolylineXY aResult =
Handle_HYDROData_PolylineXY::DownCast( aDocument->CreateObject( KIND_POLYLINEXY ) );
if( aResult.IsNull() )
- return false;
+ return aResult;
//search free name
QString aPolylinePref = GetName() + "_Boundary";
aResult->AddPoint( 0, HYDROData_IPolyline::Point( Xmax, Ymin ) );
aResult->Update();
- return true;
+ return aResult;
}
+
+void HYDROData_Bathymetry::UpdateLocalCS( double theDx, double theDy )
+{
+ gp_XYZ aDelta( theDx, theDy, 0 );
+ AltitudePoints aPoints = GetAltitudePoints();
+ AltitudePoints::Iterator anIter( aPoints );
+ for ( int i = 0 ; anIter.More(); ++i, anIter.Next() )
+ {
+ AltitudePoint& aPoint = anIter.ChangeValue();
+ aPoint += aDelta;
+ }
+ SetAltitudePoints( aPoints );
+}
+