From: isn Date: Thu, 8 Sep 2016 15:07:13 +0000 (+0300) Subject: multi bath + calc case test X-Git-Tag: v1.6~75^2~5 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=114f1b365123d9942c7b8c5e641694c3da09c11f;p=modules%2Fhydro.git multi bath + calc case test --- diff --git a/src/HYDROData/HYDROData_Bathymetry.cxx b/src/HYDROData/HYDROData_Bathymetry.cxx index b5a50b1b..9cb013af 100644 --- a/src/HYDROData/HYDROData_Bathymetry.cxx +++ b/src/HYDROData/HYDROData_Bathymetry.cxx @@ -489,6 +489,16 @@ QStringList HYDROData_Bathymetry::GetFilePaths() const } } } + else //backward compatibility + { + TDF_Label anOldLabel = myLab.FindChild( DataTag_FilePath, false ); + if ( !anOldLabel.IsNull() ) + { + Handle(TDataStd_AsciiString) anAsciiStr; + if ( anOldLabel.FindAttribute( TDataStd_AsciiString::GetID(), anAsciiStr ) ) + aResL << QString(anAsciiStr->Get().ToCString()); + } + } return aResL; } @@ -555,9 +565,12 @@ bool HYDROData_Bathymetry::ImportFromFiles( const QStringList& theFileNames ) // Try to import the file if ( aFileSuf == "xyz" ) - Stat = Stat || importFromXYZFile( aFile, aPoints ); + Stat = importFromXYZFile( aFile, aPoints ); else if ( aFileSuf == "asc" ) - Stat = Stat || importFromASCFile( aFile, aPoints ); + Stat = importFromASCFile( aFile, aPoints ); + + if (!Stat) + continue; //ignore this points // Close the file aFile.close(); diff --git a/src/HYDROGUI/HYDROGUI_ImportBathymetryDlg.cxx b/src/HYDROGUI/HYDROGUI_ImportBathymetryDlg.cxx index e4b67cab..68cdbead 100644 --- a/src/HYDROGUI/HYDROGUI_ImportBathymetryDlg.cxx +++ b/src/HYDROGUI/HYDROGUI_ImportBathymetryDlg.cxx @@ -33,7 +33,6 @@ #include #include -//TODO add new checkbox ('FUSE INTO THE ONE')!!! HYDROGUI_ImportBathymetryDlg::HYDROGUI_ImportBathymetryDlg( HYDROGUI_Module* theModule, const QString& theTitle ) : HYDROGUI_InputPanel( theModule, theTitle ) { @@ -45,21 +44,25 @@ HYDROGUI_ImportBathymetryDlg::HYDROGUI_ImportBathymetryDlg( HYDROGUI_Module* the QLabel* aFileNameLabel = new QLabel( tr( "FILE_NAME" ), myFileNameGroup ); myFileNames = new QListWidget( myFileNameGroup ); - myFileNames->viewport()->setAttribute( Qt::WA_TransparentForMouseEvents ); - //myFileNames->setFocusPolicy(Qt::FocusPolicy::NoFocus); //TODO - //myFileNames->setReadOnly( true ); + //myFileNames->viewport()->setAttribute( Qt::WA_TransparentForMouseEvents ); + //myFileNames->setFocusPolicy(Qt::FocusPolicy::NoFocus); QPushButton* aBrowseBtn = new QPushButton( myFileNameGroup ); - // aBrowseBtn->setIcon( aResMgr->loadPixmap( "HYDRO", tr( "BROWSE_ICO" ) ) ); aBrowseBtn->setText("Load files(s)"); aBrowseBtn->setIcon( aResMgr->loadPixmap( "HYDRO", tr( "BROWSE_ICO" ) ) ); QBoxLayout* aFileNameLayout = new QVBoxLayout( myFileNameGroup ); + + myFuseIntoOne = new QCheckBox(); + myFuseIntoOne->setText("Import as one bathemetry object (fuse the geometry data)"); + myFuseIntoOne->setEnabled( false ); + aFileNameLayout->setMargin( 5 ); aFileNameLayout->setSpacing( 5 ); aFileNameLayout->addWidget( aFileNameLabel ); aFileNameLayout->addWidget( aBrowseBtn ); aFileNameLayout->addWidget( myFileNames ); + aFileNameLayout->addWidget( myFuseIntoOne ); // Bathymetry name myObjectNameGroup = new QGroupBox( tr( "BATHYMETRY_NAME" ) ); @@ -83,6 +86,7 @@ HYDROGUI_ImportBathymetryDlg::HYDROGUI_ImportBathymetryDlg( HYDROGUI_Module* the addStretch(); connect( aBrowseBtn, SIGNAL( clicked() ), this, SLOT( onBrowse() ) ); + connect( myFuseIntoOne, SIGNAL( stateChanged(int) ), this, SLOT( onStateChanged(int) ) ); } HYDROGUI_ImportBathymetryDlg::~HYDROGUI_ImportBathymetryDlg() @@ -94,12 +98,16 @@ void HYDROGUI_ImportBathymetryDlg::reset() myFileNames->clear(); myObjectName->clear(); myObjectNameGroup->setEnabled( false ); + myFuseIntoOne->setEnabled( false ); } void HYDROGUI_ImportBathymetryDlg::setObjectName( const QString& theName ) { myObjectName->setText( theName ); - myObjectNameGroup->setEnabled( !theName.isEmpty() || !myFileNames->count() ); + bool ObjNameState = myObjectName->isEnabled(); + myObjectNameGroup->setEnabled( !theName.isEmpty() || myFileNames->count() > 0 ); + myObjectName->setEnabled(ObjNameState); + myFuseIntoOne->setEnabled( myFileNames->count() > 1 ); } QString HYDROGUI_ImportBathymetryDlg::getObjectName() const @@ -109,11 +117,25 @@ QString HYDROGUI_ImportBathymetryDlg::getObjectName() const void HYDROGUI_ImportBathymetryDlg::setFileNames( const QStringList& theFileNames ) { - + myFileNames->clear(); myFileNames->addItems( theFileNames ); - if ( !myObjectNameGroup->isEnabled() ) - myObjectNameGroup->setEnabled( !theFileNames.isEmpty() ); + if (myFuseIntoOne->isChecked() || theFileNames.count() == 1 ) + { + myObjectNameGroup->setEnabled( true ); + myObjectName->setEnabled( true ); + } + else + { + myObjectNameGroup->setEnabled( false ); + myObjectName->setEnabled( false ); + } + // + if (theFileNames.count() == 1) + myFuseIntoOne->setEnabled( false ); + else if (theFileNames.count() > 1) + myFuseIntoOne->setEnabled( true ); + } QStringList HYDROGUI_ImportBathymetryDlg::getFileNames() const @@ -137,6 +159,26 @@ bool HYDROGUI_ImportBathymetryDlg::isInvertAltitudes() const return myInvertAltitudes->isChecked(); } +void HYDROGUI_ImportBathymetryDlg::setFuseIntoOneOptionChecked( bool isFIO ) +{ + myFuseIntoOne->setChecked( isFIO ); +} + +bool HYDROGUI_ImportBathymetryDlg::isFuseIntoOneOptionChecked() const +{ + return myFuseIntoOne->isChecked(); +} + +void HYDROGUI_ImportBathymetryDlg::setFuseIntoOneOptionEnabled(bool enabled) +{ + myFuseIntoOne->setEnabled(enabled); +} + +bool HYDROGUI_ImportBathymetryDlg::isFuseIntoOneOptionEnabled() const +{ + return myFuseIntoOne->isEnabled(); +} + void HYDROGUI_ImportBathymetryDlg::onBrowse() { QString aFilter( tr( "BATHYMETRY_FILTER" ) ); @@ -149,6 +191,21 @@ void HYDROGUI_ImportBathymetryDlg::onBrowse() } } - +void HYDROGUI_ImportBathymetryDlg::onStateChanged (int state) +{ + if (getFileNames().count() > 1) + { + if (state == Qt::Checked) + { + myObjectName->setEnabled(true); + myObjectNameGroup->setEnabled(true); + } + else if (state == Qt::Unchecked) + { + myObjectName->setEnabled(false); + myObjectNameGroup->setEnabled(false); + } + } +} diff --git a/src/HYDROGUI/HYDROGUI_ImportBathymetryDlg.h b/src/HYDROGUI/HYDROGUI_ImportBathymetryDlg.h index 210c5e9d..438bddb4 100644 --- a/src/HYDROGUI/HYDROGUI_ImportBathymetryDlg.h +++ b/src/HYDROGUI/HYDROGUI_ImportBathymetryDlg.h @@ -48,11 +48,18 @@ public: void setInvertAltitudes( const bool theIsInvert ); bool isInvertAltitudes() const; + void setFuseIntoOneOptionChecked( bool isFIO ); + bool isFuseIntoOneOptionChecked() const; + void setFuseIntoOneOptionEnabled(bool enabled); + bool isFuseIntoOneOptionEnabled() const; + + signals: void FileSelected( const QStringList& theFileName ); protected slots: void onBrowse(); + void onStateChanged (int state); private: QGroupBox* myFileNameGroup; @@ -60,6 +67,8 @@ private: QCheckBox* myInvertAltitudes; + QCheckBox* myFuseIntoOne; + QGroupBox* myObjectNameGroup; QLineEdit* myObjectName; }; diff --git a/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx b/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx index ca048674..02ea51ac 100644 --- a/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx +++ b/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx @@ -34,6 +34,10 @@ #include #include +#include +#include +#include + HYDROGUI_ImportBathymetryOp::HYDROGUI_ImportBathymetryOp( HYDROGUI_Module* theModule, const bool theIsEdit ) @@ -68,9 +72,12 @@ void HYDROGUI_ImportBathymetryOp::startOperation() QStringList aFileNames = myEditedObject->GetFilePaths(); bool anIsAltitudesInverted = myEditedObject->IsAltitudesInverted(); + aPanel->setFuseIntoOneOptionChecked( true ); + aPanel->setObjectName( aName ); aPanel->setFileNames( aFileNames ); aPanel->setInvertAltitudes( anIsAltitudesInverted ); + aPanel->setFuseIntoOneOptionEnabled( false ); } } } @@ -110,72 +117,151 @@ bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, return false; } - QStringList aFileNames = aPanel->getFileNames(); //TODO simplified ?? - - bool anIsInvertAltitudes = aPanel->isInvertAltitudes(); + QStringList aFileNames = aPanel->getFileNames(); + + QStringList DummyFileList; + foreach (QString str, aFileNames) + DummyFileList << str.simplified(); + + aFileNames = DummyFileList; + DummyFileList.clear(); if ( aFileNames.isEmpty() ) { - theErrorMsg = tr( "INCORRECT_FILE_NAME" ); + theErrorMsg = tr( "EMPTY_FILENAMES" ); return false; } - QStringList DummyFileList; + QString inexistWarn; + foreach (QString aFileName, aFileNames ) { QFileInfo aFileInfo( aFileName ); if ( !aFileInfo.exists() || !aFileInfo.isReadable() ) { - theErrorMsg = tr( "FILE_NOT_EXISTS_OR_CANT_BE_READ" ).arg( aFileName ); + inexistWarn += "\n" + aFileName; continue; } DummyFileList << aFileName; } + if (!inexistWarn.isNull()) + SUIT_MessageBox::warning( module()->getApp()->desktop(), + tr( "BATHEMETRY_IMPORT_WARNING" ), "Can't read the next files:" + inexistWarn ); + aFileNames = DummyFileList; - if( !myIsEdit || ( !myEditedObject.IsNull() && myEditedObject->GetName() != anObjectName ) ) + bool isFuseIntoOneOption = aPanel->isFuseIntoOneOptionChecked(); + bool anIsInvertAltitudes = aPanel->isInvertAltitudes(); + + QString replacemWarn; + QString UnreadFilesWarn; + + if ( myIsEdit ) { - // check that there are no other objects with the same name in the document - Handle(HYDROData_Entity) anObject = HYDROGUI_Tool::FindObjectByName( module(), anObjectName ); - if( !anObject.IsNull() ) - { - theErrorMsg = tr( "OBJECT_EXISTS_IN_DOCUMENT" ).arg( anObjectName ); + //edit already existing bath + if (myEditedObject.IsNull()) return false; + QStringList anOldFileNames = myEditedObject->GetFilePaths(); + bool anIsInvertAltitudes = aPanel->isInvertAltitudes(); + myEditedObject->SetAltitudesInverted( anIsInvertAltitudes, false ); + if ( aFileNames.toSet() != anOldFileNames.toSet() ) + { + myEditedObject->SetAltitudesInverted( anIsInvertAltitudes, false ); + if ( !myEditedObject->ImportFromFiles( aFileNames ) ) + { + theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILE" ).arg( aFileNames.join("\n") ); + return false; + } } - } + else if ( anIsInvertAltitudes != myEditedObject->IsAltitudesInverted() ) + myEditedObject->SetAltitudesInverted( anIsInvertAltitudes ); - Handle(HYDROData_Bathymetry) aBathymetryObj; - if ( myIsEdit ) - { - aBathymetryObj = myEditedObject; + QString aNewObjName; + if (CheckNameExistingBathy(anObjectName, aNewObjName)) + { + myEditedObject->SetName( aNewObjName ); + replacemWarn += "\n'" + anObjectName + "' => '" + aNewObjName + "'"; + } + else + myEditedObject->SetName( anObjectName ); + myEditedObject->Update(); } else { - aBathymetryObj = - Handle(HYDROData_Bathymetry)::DownCast( doc()->CreateObject( KIND_BATHYMETRY ) ); - } - if ( aBathymetryObj.IsNull() ) - return false; - - QStringList anOldFileName = aBathymetryObj->GetFilePaths(); - if ( aFileNames != anOldFileName ) - { - aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes, false ); - if ( !aBathymetryObj->ImportFromFiles( aFileNames ) ) + //create the new one + if (isFuseIntoOneOption) { - theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILE" ).arg( aFileNames.join("\n") ); - return false; + Handle(HYDROData_Bathymetry) aBathymetryObj = Handle(HYDROData_Bathymetry)::DownCast( doc()->CreateObject( KIND_BATHYMETRY ) ); + if ( aBathymetryObj.IsNull() ) + return false; + aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes, false ); + if ( !aBathymetryObj->ImportFromFiles( aFileNames ) ) + { + theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILE" ).arg( aFileNames.join("\n") ); + return false; + } + + QString aNewObjName; + if (CheckNameExistingBathy(anObjectName, aNewObjName)) + { + aBathymetryObj->SetName( aNewObjName ); + replacemWarn += "\n'" + anObjectName + "' => '" + aNewObjName + "'"; + } + else + aBathymetryObj->SetName( anObjectName ); + + aBathymetryObj->SetName( anObjectName ); + aBathymetryObj->Update(); + QString anEntry = HYDROGUI_DataObject::dataObjectEntry( aBathymetryObj ); + theBrowseObjectsEntries.append( anEntry ); + } + else //myedit off + non-fuse => import separate files + { + bool AtLeastOneWasImported = false; + foreach (QString filename, aFileNames) + { + Handle(HYDROData_Bathymetry) aBathymetryObj = Handle(HYDROData_Bathymetry)::DownCast( doc()->CreateObject( KIND_BATHYMETRY ) ); + if ( aBathymetryObj.IsNull() ) + continue; + aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes, false ); + if ( !aBathymetryObj->ImportFromFiles( QStringList(filename) ) ) + { + UnreadFilesWarn += "\n" + filename; + continue; + } + + QString anObjectName = QFileInfo( filename ).baseName(); + QString aNewObjName; + if (CheckNameExistingBathy(anObjectName, aNewObjName)) + { + aBathymetryObj->SetName( aNewObjName ); + replacemWarn += "\n'" + anObjectName + "' => '" + aNewObjName + "'"; + } + else + aBathymetryObj->SetName( anObjectName ); + + AtLeastOneWasImported = true; + aBathymetryObj->Update(); + QString anEntry = HYDROGUI_DataObject::dataObjectEntry( aBathymetryObj ); + theBrowseObjectsEntries.append( anEntry ); + } + if (!AtLeastOneWasImported) + { + theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILES" ).arg( aFileNames.join("\n") ); + return false; + } } } - else if ( anIsInvertAltitudes != aBathymetryObj->IsAltitudesInverted() ) - { - aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes ); - } - aBathymetryObj->SetName( anObjectName ); + if (!UnreadFilesWarn.isNull()) + SUIT_MessageBox::warning( module()->getApp()->desktop(), + tr( "BATHEMETRY_IMPORT_WARNING" ), "The next files cannot be imported:" + UnreadFilesWarn ); + - aBathymetryObj->Update(); + if (!replacemWarn.isNull()) + SUIT_MessageBox::warning( module()->getApp()->desktop(), + tr( "BATHEMETRY_IMPORT_WARNING" ), "The next objects names are already exist in the document; so the new objects was renamed:" + replacemWarn ); // Activate VTK viewer and show the bathymetry SUIT_ViewManager* aVTKMgr = 0; @@ -193,26 +279,8 @@ bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, } } - /* - // If there is no VTK viewer yet then create a new one - if ( !aVTKMgr ) - { - aVTKMgr = module()->getApp()->createViewManager( SVTK_Viewer::Type() ); - } - // Set the bathymetry visible in the VTK viewer - if ( aVTKMgr ) - { - module()->setObjectVisible( (size_t)aVTKMgr->getViewModel(), aBathymetryObj, true ); - }*/ - theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | - UF_VTKViewer | UF_VTK_Forced; - - if( !myIsEdit ) - { - QString anEntry = HYDROGUI_DataObject::dataObjectEntry( aBathymetryObj ); - theBrowseObjectsEntries.append( anEntry ); - } + UF_VTKViewer | UF_VTK_Forced; return true; } @@ -224,11 +292,17 @@ void HYDROGUI_ImportBathymetryOp::onFileSelected() if ( !aPanel ) return; + QStringList aFileNames = aPanel->getFileNames(); + if ( !aPanel->isFuseIntoOneOptionEnabled() ) + aPanel->setFuseIntoOneOptionEnabled( !myIsEdit && aFileNames.count() > 1 ); + QString anObjectName = aPanel->getObjectName().simplified(); if ( anObjectName.isEmpty() ) { - anObjectName = aPanel->getFileNames().join("\n"); //TODO temp - if ( !anObjectName.isEmpty() ) { + if (aFileNames.count() == 1) + { + anObjectName = aFileNames[0]; + if ( !anObjectName.isEmpty() ) anObjectName = QFileInfo( anObjectName ).baseName(); } @@ -239,5 +313,16 @@ void HYDROGUI_ImportBathymetryOp::onFileSelected() } } +bool HYDROGUI_ImportBathymetryOp::CheckNameExistingBathy(const QString& InpName, QString& OutputName) +{ + Handle(HYDROData_Entity) anObject = HYDROGUI_Tool::FindObjectByName( module(), InpName ); + if (anObject.IsNull()) + return false; + else + { + OutputName = HYDROGUI_Tool::GenerateObjectName( module(), tr( "DEFAULT_BATHYMETRY_NAME" ) ); + return true; + } +} diff --git a/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.h b/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.h index fe214c34..57a7e95d 100644 --- a/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.h +++ b/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.h @@ -42,6 +42,8 @@ protected: virtual bool processApply( int& theUpdateFlags, QString& theErrorMsg, QStringList& theBrowseObjectsEntries ); + bool CheckNameExistingBathy(const QString& InpName, QString& OutputName); + protected slots: void onFileSelected(); diff --git a/src/HYDROGUI/resources/HYDROGUI_msg_en.ts b/src/HYDROGUI/resources/HYDROGUI_msg_en.ts index 7b3a26b1..52583d87 100644 --- a/src/HYDROGUI/resources/HYDROGUI_msg_en.ts +++ b/src/HYDROGUI/resources/HYDROGUI_msg_en.ts @@ -141,9 +141,14 @@ does not exist or you have not enough permissions to open it. The object name must not be an empty string value. - INCORRECT_FILE_NAME - The file name must not be an empty string value. + EMPTY_FILENAMES + Files list is empty + + BATHEMETRY_IMPORT_WARNING + Imort of bahemetry - warning + + INSUFFICIENT_INPUT_DATA Insufficient input data @@ -619,7 +624,13 @@ Do you want to continue? '%1' file cannot be correctly imported for a Bathymetry definition. - + + BAD_IMPORTED_BATHYMETRY_FILES + '%1' +All files cannot be correctly imported for a Bathymetry definition. + + + HYDROGUI_ImportImageDlg diff --git a/src/HYDRO_tests/CMakeLists.txt b/src/HYDRO_tests/CMakeLists.txt index 8ff5e1c0..064f9e83 100644 --- a/src/HYDRO_tests/CMakeLists.txt +++ b/src/HYDRO_tests/CMakeLists.txt @@ -19,6 +19,8 @@ set(PROJECT_HEADERS test_HYDROGUI_ListModel.h test_HYDROGUI_Shape.h test_HYDROGUI_LandCoverMapDlg.h + test_HYDROData_CalcCase.h + test_Dependencies.h TestShape.h @@ -44,6 +46,7 @@ set(PROJECT_SOURCES test_HYDROGUI_ListModel.cxx test_HYDROGUI_Shape.cxx test_HYDROGUI_LandCoverMapDlg.cxx + test_HYDROData_CalcCase.cxx test_Dependencies.cxx TestShape.cxx diff --git a/src/HYDRO_tests/reference_data/CMakeLists.txt b/src/HYDRO_tests/reference_data/CMakeLists.txt index e1b18f95..891597b4 100644 --- a/src/HYDRO_tests/reference_data/CMakeLists.txt +++ b/src/HYDRO_tests/reference_data/CMakeLists.txt @@ -102,6 +102,14 @@ SET(REFERENCE_DATA t1.dbf test_LCM.dbf test.telemac + r2.brep + p1.brep + p2.brep + p3.brep + cc_int_w_1.png + cc_int_w_2.png + cc_int_w_3.png + ) # Application tests diff --git a/src/HYDRO_tests/reference_data/cc_int_w_1.png b/src/HYDRO_tests/reference_data/cc_int_w_1.png new file mode 100644 index 00000000..47629445 Binary files /dev/null and b/src/HYDRO_tests/reference_data/cc_int_w_1.png differ diff --git a/src/HYDRO_tests/reference_data/cc_int_w_2.png b/src/HYDRO_tests/reference_data/cc_int_w_2.png new file mode 100644 index 00000000..70ef70e6 Binary files /dev/null and b/src/HYDRO_tests/reference_data/cc_int_w_2.png differ diff --git a/src/HYDRO_tests/reference_data/cc_int_w_3.png b/src/HYDRO_tests/reference_data/cc_int_w_3.png new file mode 100644 index 00000000..cdeffb4a Binary files /dev/null and b/src/HYDRO_tests/reference_data/cc_int_w_3.png differ diff --git a/src/HYDRO_tests/reference_data/p1.brep b/src/HYDRO_tests/reference_data/p1.brep new file mode 100644 index 00000000..cbd0f8a4 --- /dev/null +++ b/src/HYDRO_tests/reference_data/p1.brep @@ -0,0 +1,42 @@ +DBRep_DrawableShape + +CASCADE Topology V1, (c) Matra-Datavision +Locations 0 +Curve2ds 0 +Curves 1 +1 89031.267742040858 37460.250754226363 0 0.97739578940238125 0.21141776381963695 0 +Polygon3D 0 +PolygonOnTriangulations 0 +Surfaces 0 +Triangulations 0 + +TShapes 4 +Ve +1e-007 +89031.2677420409 37460.2507542264 0 +0 0 + +0101101 +* +Ve +1e-007 +89601 37583.4879537925 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 1 0 0 582.908443167633 +0 + +0101000 ++4 0 -3 0 * +Wi + +1101000 ++2 0 * + ++1 0 +0 + diff --git a/src/HYDRO_tests/reference_data/p2.brep b/src/HYDRO_tests/reference_data/p2.brep new file mode 100644 index 00000000..92568f43 --- /dev/null +++ b/src/HYDRO_tests/reference_data/p2.brep @@ -0,0 +1,42 @@ +DBRep_DrawableShape + +CASCADE Topology V1, (c) Matra-Datavision +Locations 0 +Curve2ds 0 +Curves 1 +1 89401 37503 0 -0.9685594775963311 -0.24878211020554142 0 +Polygon3D 0 +PolygonOnTriangulations 0 +Surfaces 0 +Triangulations 0 + +TShapes 4 +Ve +1e-007 +89401 37503 0 +0 0 + +0101101 +* +Ve +1e-007 +89000 37400 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 1 0 0 414.0169078673 +0 + +0101000 ++4 0 -3 0 * +Wi + +1101000 ++2 0 * + ++1 0 +0 + diff --git a/src/HYDRO_tests/reference_data/p3.brep b/src/HYDRO_tests/reference_data/p3.brep new file mode 100644 index 00000000..c2bb8514 --- /dev/null +++ b/src/HYDRO_tests/reference_data/p3.brep @@ -0,0 +1,42 @@ +DBRep_DrawableShape + +CASCADE Topology V1, (c) Matra-Datavision +Locations 0 +Curve2ds 0 +Curves 1 +1 89401 37503 0 0.70710678118654746 0.70710678118654746 0 +Polygon3D 0 +PolygonOnTriangulations 0 +Surfaces 0 +Triangulations 0 + +TShapes 4 +Ve +1e-007 +89401 37503 0 +0 0 + +0101101 +* +Ve +1e-007 +89421 37523 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 1 0 0 28.2842712474619 +0 + +0101000 ++4 0 -3 0 * +Wi + +1101000 ++2 0 * + ++1 0 +0 + diff --git a/src/HYDRO_tests/reference_data/r2.brep b/src/HYDRO_tests/reference_data/r2.brep new file mode 100644 index 00000000..28a36494 --- /dev/null +++ b/src/HYDRO_tests/reference_data/r2.brep @@ -0,0 +1,1190 @@ +DBRep_DrawableShape + +CASCADE Topology V1, (c) Matra-Datavision +Locations 7 +1 + 1 0 0 89318.1771346115 + 0 1 0 37523.2269884235 + 0 0 1 0 +1 + 1 0 0 -89318.1771346115 + 0 1 0 -37523.2269884235 + 0 0 1 -0 +2 2 -1 0 +1 + 1 0 0 -89318.1771346115 + 0 1 0 -37523.2269884235 + 0 0 1 -0 +2 4 -1 0 +1 + 1 0 0 -89318.1771346115 + 0 1 0 -37523.2269884235 + 0 0 1 -0 +2 6 -1 0 +Curve2ds 74 +7 0 0 1 2 2 -25.000000000007276 -16.075344349635998 -24.999999999992724 16.075344349621446 + 0 2 32.420343677464707 2 +7 0 0 5 6 2 -25.015749468555441 -3.7778594480332686 -24.995987322803558 -2.2771561305416981 -24.986036661179241 -0.76287640562804881 -24.98604795879146 0.75731200315931346 -24.996027718407277 2.2757567960361484 -25.015842100805457 3.7847976761840982 + 3.0443579100651261 6 3.2640453476566313 6 +7 0 0 5 6 2 -25 16.075344349592342 -24.999999999978172 17.576177781258593 -25.009989400117774 19.090457251106272 -25.030017698125448 20.610513719002483 -25.059990634959831 22.128695462961332 -25.099673516437178 23.637344612565357 + 3.0443579100651261 6 3.2640453476566313 6 +7 0 0 1 2 2 -25.000000001076842 -20.271189721228438 -24.999999998923158 20.27118972298922 + 4.1357864557881516 2 44.839442635187361 2 +7 0 0 1 2 2 -25.099673515505856 23.637344613278401 -26.165714725670114 64.165706128856982 + 4.1357864557881516 2 44.839442635187361 2 +7 0 0 5 6 2 -24.926615566866531 -3.3812512257427443 -24.999981777997164 -2.0300028295750963 -25.036677842625068 -0.67681951883423608 -25.036655735835666 0.67697007555398159 -24.999939844368782 2.0300390451739077 -24.926625549953314 3.3810667877696687 + 3.0601329938793498 6 3.168632769656555 6 +7 0 0 5 6 2 -26.165714725662838 64.165706128886086 -26.201297446255921 65.518476877798093 -26.200170274125412 66.872157195699401 -26.162322326017602 68.225417628578725 -26.087815053913801 69.576932467432925 -25.976780700890231 70.925384290632792 + 3.0601329938793498 6 3.168632769656555 6 +7 0 0 1 2 2 -25.000000009851647 -23.251444535490009 -24.999999990148353 23.251444553825422 + 2.0363688587054649 2 48.686194767358877 2 +7 0 0 1 2 2 -25.976780705350393 70.925384290909278 -22.16055080951628 117.27142061589984 + 2.0363688587054649 2 48.686194767358877 2 +7 0 0 5 6 2 -24.999706968650571 -1.5207693030679366 -25.000057282137277 -0.91340194822987542 -25.000232424521528 -0.3050903657276649 -25.000232235026488 0.30384726006013807 -25.000056722499721 0.91309150906454306 -24.999706071495893 1.5223229557886953 + 4.6329902037804702 6 4.7134544916582994 6 +7 0 0 5 6 2 -22.160550809509004 117.27142061589984 -22.110707587235083 117.87673944066046 -22.060611762834014 118.48298478742072 -22.010289470556017 119.08983954682481 -21.959767115855357 119.69698539207457 -21.909071279704222 120.30410400556866 + 4.6329902037804702 6 4.7134544916582994 6 +7 0 0 1 2 2 -25.000000001986336 -22.681891918095062 -24.999999997999112 22.681891921718488 + 1.5095198913739187 2 46.873329477009811 2 +7 0 0 1 2 2 -21.909071279747877 120.30410400555411 -18.134225797846739 165.51055737068236 + 1.5095198913739187 2 46.873329477009811 2 +7 0 0 5 6 2 -24.967151465003553 -2.326332990109222 -25.000239834713284 -1.3962027643283363 -25.016793643015262 -0.46548328360950109 -25.016798895798274 0.46544281060050707 -25.000249966789852 1.3961927893396933 -24.96714969274035 2.3263829582283506 + 6.1730258926905792 6 6.2497173472860759 6 +7 0 0 5 6 2 -18.134225797854015 165.51055737068236 -18.056778139456583 166.43804803767125 -17.962842716864543 167.36416299636767 -17.85245101145847 168.28852064591774 -17.725642823854287 169.21074029085867 -17.58246647244232 170.13044128078036 + 6.1730258926905792 6 6.2497173472860759 6 +7 0 0 1 2 2 -24.999999993306119 -22.354008205249556 -25.000000006708433 22.354008193316986 + 1.4386699403681846 2 46.166503508015197 2 +7 0 0 1 2 2 -17.582466475236288 170.13044128123147 -10.705290171099477 214.30635300217546 + 1.4386699403681846 2 46.166503508015197 2 +7 0 0 5 6 2 -25.012772328176652 -1.5200271449284628 -24.991171838853916 -0.91245035686006304 -24.98032191699167 -0.30315607837110292 -24.980328572935832 0.30600212080753408 -24.991160400481021 0.91316548560280353 -25.012645691989746 1.5164776122255716 + 6.1992706349623292 6 6.3277815401364137 6 +7 0 0 5 6 2 -10.705290171092201 214.30635300217546 -10.61177109304117 214.90707782818936 -10.528722950111842 215.51078325680282 -10.456470875637024 216.11564138016547 -10.395204171691148 216.71980284123856 -10.344972550636157 217.32140397500189 + 6.1992706349623292 6 6.3277815401364137 6 +7 0 0 1 2 2 -24.999999994448444 -22.373434601599001 -25.000000005558832 22.373434591689147 + 2.4129011012208772 2 47.293774521690104 2 +7 0 0 1 2 2 -10.344972546961799 217.3214039751183 -6.6217193098855205 261.91310374012392 + 2.4129011012208772 2 47.293774521690104 2 +7 0 0 5 6 2 -25.00295420744078 -0.72195692671812139 -24.997817074108752 -0.43411404147627763 -24.995239315183426 -0.14540764412959106 -24.995237395487493 0.14395069747115485 -24.997819696887746 0.43374939476780128 -25.002986683342897 0.72377711183798965 + 3.162984811269054 6 3.2254023613222773 6 +7 0 0 5 6 2 -6.6217193098855205 261.91310374012392 -6.5977649497144739 262.19999414663471 -6.576307999137498 262.48791362839984 -6.5573787266694126 262.7766521476733 -6.5409993365392438 263.06599911725789 -6.5271841155336006 263.3557436842384 + 3.162984811269054 6 3.2254023613222773 6 +7 0 0 1 2 2 -24.999999999345164 -18.393725742600509 -25.000000000654836 18.393725741640083 + 1.1707091734476303 2 37.970627312103517 2 +7 0 0 1 2 2 -6.5271841155336006 263.3557436842384 -4.7751235096075106 300.10144915220735 + 1.1707091734476303 2 37.970627312103517 2 +7 0 0 5 6 2 -25.001019058807287 -0.61301551254291553 -24.990394303924404 -0.36822476107045077 -24.985069059490343 -0.12294239498442039 -24.985066459776135 0.1225924914033385 -24.990392933417752 0.36813759962387849 -25.001038008340402 0.61345198439084925 + 6.2000958873176266 6 6.290650569642092 6 +7 0 0 5 6 2 -4.7751235096002347 300.1014491521928 -4.7634539862629026 300.346192322977 -4.7570818266976858 300.59144972435024 -4.7560311855049804 300.8369823628891 -4.7603095254889922 301.08254796981055 -4.7699074031261262 301.32790555730753 + 6.2000958873176266 6 6.290650569642092 6 +7 0 0 1 2 2 -24.999999995809048 -18.911991958171711 -25.000000004183676 18.911991951841628 + 1.6990614677072315 2 39.523045377700264 2 +7 0 0 1 2 2 -4.7699074004194699 301.32790555738029 -6.2483720993404859 339.12298329191981 + 1.6990614677072315 2 39.523045377700264 2 +1 -31.03125 -21.42578125 0.51445130432288266 0.85751959480847129 +1 -3.6168271508652481 334.07238175608336 -0.83204493284837588 0.55470823837522165 +1 -33.984375 -39.16015625 0.16425805207772101 0.9864174026889595 +1 13.95677581286599 330.27798025131517 -0.97747497678214024 0.21105134390653499 +1 -30.296875 -53.93359375 -0.24217343450463402 0.97023297594970959 +1 28.889071594325497 333.25768736971003 -0.98066585882985935 -0.19568973740463366 +1 -23.640625 -62.80078125 -0.60033816506334725 0.79974626449166564 +1 38.063211144520579 339.484070086521 -0.82743077612757954 -0.56156772585050807 +1 -8.8671875 -68.7109375 -0.92845975927333024 0.37143300258607842 +1 44.670268955910672 353.95926229743031 -0.41523086993587066 -0.90971606815110184 +7 0 0 1 2 2 24.999999993360689 -11.955651295284042 25.000000006642949 11.955651288924855 + 0.29070807495669032 2 24.202010659164024 2 +7 0 0 1 2 2 43.707342632485961 341.27108873605903 43.143235001261928 365.17573627275124 + 0.29070807495669032 2 24.202010659164024 2 +7 0 0 4 5 2 24.999999999257852 -0.09689978499955032 24.999624412706908 -0.048450850663357414 24.99949921235384 -1.9063008949160576e-009 24.999624412754201 0.048450849499204196 24.999999999345164 0.09689978814276401 + 0.071238468338566924 5 0.086742588425107264 5 +7 0 0 4 5 2 43.713416463950125 341.07738436566433 43.711522634075664 341.125797728615 43.709879007394193 341.17422085236467 43.708485658382415 341.22265182647971 43.707342632493237 341.27108873610268 + 0.071238468338566924 5 0.086742588425107264 5 +7 0 0 1 2 2 25.000000004187314 -18.911991951841628 24.999999995816324 18.911991958171711 + 1.6990614677072315 2 39.523045377700264 2 +7 0 0 1 2 2 45.191881162871141 303.28230663113936 43.713416463942849 341.07738436566433 + 1.6990614677072315 2 39.523045377700264 2 +7 0 0 5 6 2 24.951950965260039 -2.7811450689769117 25.000206541692023 -1.6693529439653503 25.024339916075405 -0.55654572838102467 25.024333981353266 0.55658866016892716 25.000195168358914 1.6693634410912637 24.951953250958468 2.7810922330536414 + 6.2000958873176266 6 6.290650569642092 6 +7 0 0 5 6 2 45.168137011824001 297.72012000893301 45.221137723965512 298.831696031717 45.250020786595996 299.94439009904454 45.254766156554979 301.05751437264553 45.235377333134238 302.17038205071003 45.191881160164485 303.28230663108116 + 6.2000958873176266 6 6.290650569642092 6 +7 0 0 1 2 2 25.000000000654836 -18.393725741640083 24.999999999345164 18.393725742600509 + 1.1707091734476303 2 37.970627312103517 2 +7 0 0 1 2 2 43.416076405890635 260.97441454096406 45.168137011824001 297.72012000893301 + 1.1707091734476303 2 37.970627312103517 2 +7 0 0 5 6 2 24.989084804932645 -1.6141650779609336 25.000604622829997 -0.96868881123373285 25.006354355347867 -0.32300137873971835 25.006345059446176 0.32280577256460674 25.000585118883464 0.96864052099408582 24.989080411112809 1.6144103825790808 + 3.162984811269054 6 3.2254023613222773 6 +7 0 0 5 6 2 43.204894896589394 257.75275318778586 43.258611600191216 258.39609355872381 43.306584388425108 259.04002207299345 43.348818312908406 259.68444675624778 43.385315713610908 260.32927513569302 43.416076405890635 260.97441454097861 + 3.162984811269054 6 3.2254023613222773 6 +7 0 0 1 2 2 25.000000005551556 -22.373434591660043 24.999999994448444 22.373434601613553 + 2.4129011012208772 2 47.293774521690104 2 +7 0 0 1 2 2 39.481641659520392 213.16105342276569 43.20489489659667 257.7527531877713 + 2.4129011012208772 2 47.293774521690104 2 +7 0 0 5 6 2 24.955659212108003 -3.2964981986297062 25.002517148801417 -1.9784820100030629 25.025958189733501 -0.65943168569356203 25.025994101561082 0.65985624228778761 25.002593439909106 1.9785828435851727 24.955678657221142 3.2959611699479865 + 6.1992706349623292 6 6.3277815401364137 6 +7 0 0 5 6 2 38.699621161475079 206.61514137974882 38.902492076391354 207.91829360861448 39.082234096567845 209.22525039696484 39.23876442056644 210.53521944081876 39.371957056413521 211.84741118052625 39.481641655853309 213.16105342263472 + 6.1992706349623292 6 6.3277815401364137 6 +7 0 0 1 2 2 25.000000006701157 -22.35400819327333 24.999999993298843 22.354008205293212 + 1.4386699403681846 2 46.166503508015197 2 +7 0 0 1 2 2 31.822444857330993 162.43922965880483 38.699621161467803 206.61514137976337 + 1.4386699403681846 2 46.166503508015197 2 +7 0 0 5 6 2 25.001240952995431 -0.54876184937893413 24.993431991169928 -0.32924811841803603 24.989525598124601 -0.10960542116663419 24.989527828300197 0.10998540358559694 24.99343305506045 0.32934290848788805 25.001224072504556 0.54828755681228358 + 6.1730258926905792 6 6.2497173472860759 6 +7 0 0 5 6 2 31.692364423113759 161.34991956481826 31.710642320162151 161.56881035138213 31.732810541448998 161.78736639529234 31.758853653351252 162.00540741585428 31.788744551384298 162.22275391333096 31.822444860124961 162.43922965833917 + 6.1730258926905792 6 6.2497173472860759 6 +7 0 0 1 2 2 24.999999998013664 -22.681891921718488 25.000000002000888 22.681891918095062 + 1.5095198913739187 2 46.873329477009811 2 +7 0 0 1 2 2 27.917518941219896 116.14346619971911 31.692364423128311 161.34991956484737 + 1.5095198913739187 2 46.873329477009811 2 +7 0 0 5 6 2 25.000284714660665 -1.4919306323863566 24.999941075700917 -0.89613554361858405 24.999769238696899 -0.29935915273381397 24.999769414236653 0.29806758044287562 24.999941614361887 0.89581282647850458 25.000285646696284 1.4935448136966443 + 4.6329902037804702 6 4.7134544916582994 6 +7 0 0 5 6 2 27.670800782616425 113.16820254930644 27.719694334053202 113.76198813898372 27.768840193813958 114.35673747671535 27.818211221499951 114.95212071726564 27.867780006999965 115.54780716526147 27.917518941270828 116.14346619970456 + 4.6329902037804702 6 4.7134544916582994 6 +7 0 0 1 2 2 24.999999990148353 -23.25144455381087 25.000000009851647 23.251444535504561 + 2.0363688587054649 2 48.686194767358877 2 +7 0 0 1 2 2 23.854570886775036 66.822166224359535 27.670800782609149 113.16820254932099 + 2.0363688587054649 2 48.686194767358877 2 +7 0 0 5 6 2 24.999847943945497 -0.67048725539643783 24.985328577371547 -0.4030716346896952 24.97804473197175 -0.13487531189457513 24.978034619016398 0.13384240209416021 24.985322611282754 0.40281515446258709 24.999917834044027 0.67177431093296036 + 3.0601329938793498 6 3.168632769656555 6 +7 0 0 5 6 2 23.816997279820498 65.480430653595249 23.809955365650239 65.74814755191619 23.810167961164552 66.016442681881017 23.817666017363081 66.285055766202277 23.832466455431131 66.553719875053503 23.854570891235198 66.822166224053944 + 3.0601329938793498 6 3.168632769656555 6 +7 0 0 1 2 2 24.999999998923158 -20.27118972298922 25.000000001076842 20.27118972124299 + 4.1357864557881516 2 44.839442635187361 2 +7 0 0 1 2 2 24.883038489992032 24.952069137987564 23.816997279820498 65.480430653580697 + 4.1357864557881516 2 44.839442635187361 2 +7 0 0 5 6 2 24.979915801588504 -4.4362318334169686 25.003183596887538 -2.6693155255488819 25.014818422107055 -0.89256589440628886 25.014797551619267 0.88854284751869272 25.003127618256258 2.6683324398763943 24.979848240029241 4.4412634747714037 + 3.0443579100651261 6 3.2640453476566313 6 +7 0 0 5 6 2 25.000000000014552 16.075344349606894 25.000000000029104 17.842413852849859 24.988238558726152 19.619162650342332 24.964765033822914 21.400116704957327 24.929660825800966 23.179598335933406 24.883038489075261 24.952069137289072 + 3.0443579100651261 6 3.2640453476566313 6 +7 0 0 1 2 2 25 -16.07534434965055 25 16.075344349621446 + 0 2 32.420343677464707 2 +7 0 1 3 9 9 0 0 25.718367738547386 39.034081160214555 42.359798484074418 49.68072981837031 71.259510071162367 52.101826874022663 100.95941124598903 45.721963559466531 126.68558085264522 22.253989253025793 145.58084922052512 -14.9888774436331 109.53571874478075 -60.626949509118276 18.016370012730476 -88.256613033467147 + 0 2 36.262906006700305 1 57.454088681212156 1 85.572945703489182 1 124.44586692001535 1 160.46619436519291 1 195.55253740483596 1 283.60428771698037 1 373.36099733802803 2 +7 0 1 3 9 9 -14.716470227200961 -138.31529277042702 -52.48137794736553 -110.76705006703796 -62.323370419528231 -93.637440349175876 -63.365325531267601 -64.655215273884068 -55.578197215142566 -35.292868325877805 -30.91160457302097 -10.713591930795815 7.1889163713134172 6.3864838073301655 51.058492435676044 -31.791328450589447 74.298048261311834 -124.52272843912905 + 0 2 36.262906006700305 1 57.454088681212156 1 85.572945703489182 1 124.44586692001535 1 160.46619436519291 1 195.55253740483596 1 283.60428771698037 1 373.36099733802803 2 +Curves 38 +7 0 0 1 2 2 89147.57496042877 37547.866161510719 0 89179.689164861818 37549.397388949707 0 + 0 2 32.420343677464707 2 +7 0 0 5 6 2 89179.689164861789 37549.397388949714 0 89181.188295163316 37549.468868517462 0 89182.700380483628 37549.550966538365 0 89184.21775812791 37549.643367203775 0 89185.732789546484 37549.74561193624 0 89187.237836736735 37549.857101589711 0 + 3.0443579100651261 6 3.2640453476566313 6 +7 0 0 1 2 2 89187.237836737491 37549.857101588816 0 89227.669435191099 37552.852160434006 0 + 4.1357864557881516 2 44.839442635187361 2 +7 0 0 5 6 2 89227.669435191128 37552.852160433999 0 89229.018976146501 37552.952130623838 0 89230.371174005457 37553.015475898625 0 89231.724701340951 37553.042122070096 0 89233.078231021616 37553.032067381515 0 89234.430440822573 37552.985381181585 0 + 3.0601329938793498 6 3.168632769656555 6 +7 0 0 1 2 2 89234.430440822645 37552.985381186059 0 89280.905638138269 37551.380785246882 0 + 2.0363688587054649 2 48.686194767358877 2 +7 0 0 5 6 2 89280.905638138269 37551.380785246874 0 89281.512643915907 37551.359827853325 0 89282.120587194688 37551.338662271381 0 89282.729149980471 37551.317299502793 0 89283.338013050059 37551.295750762234 0 89283.946857181116 37551.274027440129 0 + 4.6329902037804702 6 4.7134544916582994 6 +7 0 0 1 2 2 89283.946857181101 37551.27402744018 0 89329.281793725517 37549.656494510076 0 + 1.5095198913739187 2 46.873329477009811 2 +7 0 0 5 6 2 89329.281793725517 37549.656494510084 0 89330.211920453075 37549.62330794958 0 89331.141458289363 37549.573586814724 0 89332.070024567205 37549.507344376856 0 89332.997237127565 37549.424602260187 0 89333.922713450753 37549.325390599195 0 + 6.1730258926905792 6 6.2497173472860759 6 +7 0 0 1 2 2 89333.922713451073 37549.325390602011 0 89378.376031215143 37544.55996616534 0 + 1.4386699403681846 2 46.166503508015197 2 +7 0 0 5 6 2 89378.376031215143 37544.559966165332 0 89378.980528339001 37544.495163682455 0 89379.587503988267 37544.440962208304 0 89380.195116844348 37544.397599450254 0 89380.801510633042 37544.365176417006 0 89381.404821436561 37544.343654004508 0 + 6.1992706349623292 6 6.3277815401364137 6 +7 0 0 1 2 2 89381.404821436852 37544.343654000848 0 89426.123244834802 37542.748376155963 0 + 2.4129011012208772 2 47.293774521690104 2 +7 0 0 5 6 2 89426.123244834802 37542.748376155963 0 89426.410950545396 37542.738112588668 0 89426.699565220377 37542.73039260826 0 89426.988877618744 37542.725236445542 0 89427.278676334798 37542.72265625 0 89427.568750074424 37542.722656249985 0 + 3.162984811269054 6 3.2254023613222773 6 +7 0 0 1 2 2 89427.568750074424 37542.722656249985 0 89464.356201558665 37542.722656249985 0 + 1.1707091734476303 2 37.970627312103517 2 +7 0 0 5 6 2 89464.35620155865 37542.722656249978 0 89464.601222776968 37542.72265625 0 89464.846505346984 37542.727972093438 0 89465.091809396094 37542.73861652505 0 89465.336892575011 37542.754585460738 0 89465.58151461916 37542.775857990273 0 + 6.2000958873176266 6 6.290650569642092 6 +7 0 0 1 2 2 89465.581514619364 37542.775857987581 0 89503.263288672388 37546.052695341205 0 + 1.6990614677072315 2 39.523045377700264 2 +1 89498.34375 37543.18359375 0 0.51445130432288266 0.85751959480847129 0 +1 89495.390625 37525.44921875 0 0.16425805207772101 0.9864174026889595 0 +1 89499.078125 37510.67578125 0 -0.24217343450463402 0.97023297594970959 0 +1 89505.734375 37501.80859375 0 -0.60033816506334725 0.79974626449166564 0 +1 89520.5078125 37495.8984375 0 -0.92845975927333024 0.37143300258607842 0 +7 0 0 1 2 2 89507.788176455346 37496.255976755347 0 89531.638830728494 37497.957940919499 0 + 0.29070807495669032 2 24.202010659164024 2 +7 0 0 4 5 2 89507.594981174494 37496.240684339158 0 89507.643249401823 37496.244881782979 0 89507.691539295178 37496.248829772405 0 89507.739848949888 37496.25252814206 0 89507.788176455389 37496.255976755339 0 + 0.071238468338566924 5 0.086742588425107264 5 +7 0 0 1 2 2 89469.91320712147 37492.963846985542 0 89507.594981174494 37496.240684339165 0 + 1.6990614677072315 2 39.523045377700264 2 +7 0 0 5 6 2 89464.35620155785 37492.722656249985 0 89465.469040418568 37492.722656250044 0 89466.58184741385 37492.746799779787 0 89467.693934531402 37492.795074100264 0 89468.804615915418 37492.867443006129 0 89469.913207121281 37492.963846988241 0 + 6.2000958873176266 6 6.290650569642092 6 +7 0 0 1 2 2 89427.568750073609 37492.722656249985 0 89464.35620155785 37492.722656249985 0 + 1.1707091734476303 2 37.970627312103517 2 +7 0 0 5 6 2 89424.340686774492 37492.780161391362 0 89424.985855432518 37492.757145748394 0 89425.631338003397 37492.739895513914 0 89426.27704285775 37492.728401261615 0 89426.922877739155 37492.722656250022 0 89427.568750073624 37492.722656249993 0 + 3.162984811269054 6 3.2254023613222773 6 +7 0 0 1 2 2 89379.622263376528 37494.375439236239 0 89424.340686774478 37492.780161391354 0 + 2.4129011012208772 2 47.293774521690104 2 +7 0 0 5 6 2 89373.046534602196 37494.844812883333 0 89374.357870075939 37494.704236871818 0 89375.671904241579 37494.586944706767 0 89376.98784175067 37494.492981360949 0 89378.304887938968 37494.422435079323 0 89379.622263376223 37494.375439239899 0 + 6.1992706349623292 6 6.3277815401364137 6 +7 0 0 1 2 2 89328.593216838141 37499.610237320012 0 89373.04653460221 37494.844812883341 0 + 1.4386699403681846 2 46.166503508015197 2 +7 0 0 5 6 2 89327.49894759529 37499.688290022874 0 89327.718460500662 37499.680457887574 0 89327.937824326073 37499.668723900082 0 89328.15685826038 37499.653094890367 0 89328.375381716658 37499.633589383178 0 89328.593216837791 37499.610237317203 0 + 6.1730258926905792 6 6.2497173472860759 6 +7 0 0 1 2 2 89282.164011050903 37501.305822952963 0 89327.498947595319 37499.688290022859 0 + 1.5095198913739187 2 46.873329477009811 2 +7 0 0 5 6 2 89279.180373355848 37501.410559497628 0 89279.775813756612 37501.390001408661 0 89280.372228828346 37501.369237197723 0 89280.969287807558 37501.348278265003 0 89281.566659068645 37501.327136239604 0 89282.164011050903 37501.305822952912 0 + 4.6329902037804702 6 4.7134544916582994 6 +7 0 0 1 2 2 89232.705176040239 37503.015155436813 0 89279.180373355863 37501.410559497635 0 + 2.0363688587054649 2 48.686194767358877 2 +7 0 0 5 6 2 89231.363173554506 37502.988784125308 0 89231.630251268172 37503.008568489422 0 89231.898252064828 37503.021134115399 0 89232.166917436625 37503.026437691231 0 89232.435981562521 37503.024449601988 0 89232.705176040152 37503.015155432346 0 + 3.0601329938793498 6 3.168632769656555 6 +7 0 0 1 2 2 89190.931575100883 37499.993725280117 0 89231.363173554491 37502.988784125308 0 + 4.1357864557881516 2 44.839442635187361 2 +7 0 0 5 6 2 89182.070494004263 37499.454128428224 0 89183.835558255465 37499.538287910305 0 89185.609730659693 37499.634656478658 0 89187.387545742444 37499.742924121885 0 89189.163336142752 37499.862739123346 0 89190.931575100141 37499.993725280998 0 + 3.0443579100651261 6 3.2640453476566313 6 +7 0 0 1 2 2 89149.95628957123 37497.922900989252 0 89182.070494004278 37499.454128428239 0 + 0 2 32.420343677464707 2 +7 0 1 3 9 9 89025.963498009267 37531.772430349287 0 89051.681865747814 37570.806511509501 0 89068.323296493341 37581.453160167657 0 89097.223008080429 37583.87425722331 0 89126.922909255256 37577.494393908753 0 89152.649078861912 37554.026419602313 0 89171.544347229792 37516.783552905654 0 89135.499216754048 37471.145480840169 0 89043.979868021997 37443.51581731582 0 + 0 2 36.262906006700305 1 57.454088681212156 1 85.572945703489182 1 124.44586692001535 1 160.46619436519291 1 195.55253740483596 1 283.60428771698037 1 373.36099733802803 2 +Polygon3D 0 +PolygonOnTriangulations 99 +2 2 52 +p 1.5362554819989 1 3.04435791006513 3.26404534765663 +2 2 3 +p 1.4583468921677 1 3.04435791006513 3.26404534765663 +2 2 3 +p 1.4583468921677 1 3.04435791006513 3.26404534765663 +2 52 49 +p 1.5362554819989 1 4.13578645578815 44.8394426351874 +2 3 4 +p 1.4583468921677 1 4.13578645578815 44.8394426351874 +2 3 4 +p 1.4583468921677 1 4.13578645578815 44.8394426351874 +4 49 50 51 48 +p 1.5362554819989 1 3.06013299387935 3.09629958580509 3.13246617773082 3.16863276965656 +4 4 6 7 5 +p 1.4583468921677 1 3.06013299387935 3.09629958580509 3.13246617773082 3.16863276965656 +4 4 6 7 5 +p 1.4583468921677 1 3.06013299387935 3.09629958580509 3.13246617773082 3.16863276965656 +2 48 47 +p 1.5362554819989 1 2.03636885870546 48.6861947673589 +2 5 8 +p 1.4583468921677 1 2.03636885870546 48.6861947673589 +2 5 8 +p 1.4583468921677 1 2.03636885870546 48.6861947673589 +2 47 46 +p 1.5362554819989 1 4.63299020378047 4.7134544916583 +2 8 9 +p 1.4583468921677 1 4.63299020378047 4.7134544916583 +2 8 9 +p 1.4583468921677 1 4.63299020378047 4.7134544916583 +2 46 43 +p 1.5362554819989 1 1.50951989137392 46.8733294770098 +2 9 10 +p 1.4583468921677 1 1.50951989137392 46.8733294770098 +2 9 10 +p 1.4583468921677 1 1.50951989137392 46.8733294770098 +4 43 44 45 42 +p 1.5362554819989 1 6.17302589269058 6.20711098362191 6.22841416545399 6.24971734728608 +4 10 12 13 11 +p 1.4583468921677 1 6.17302589269058 6.20711098362191 6.22841416545399 6.24971734728608 +4 10 12 13 11 +p 1.4583468921677 1 6.17302589269058 6.20711098362191 6.22841416545399 6.24971734728608 +2 42 39 +p 1.5362554819989 1 1.43866994036818 46.1665035080152 +2 11 14 +p 1.4583468921677 1 1.43866994036818 46.1665035080152 +2 11 14 +p 1.4583468921677 1 1.43866994036818 46.1665035080152 +4 39 40 41 38 +p 1.5362554819989 1 6.19927063496233 6.25638659281748 6.29208406647695 6.32778154013641 +4 14 16 17 15 +p 1.4583468921677 1 6.19927063496233 6.25638659281748 6.29208406647695 6.32778154013641 +4 14 16 17 15 +p 1.4583468921677 1 6.19927063496233 6.25638659281748 6.29208406647695 6.32778154013641 +2 38 37 +p 1.5362554819989 1 2.41290110122088 47.2937745216901 +2 15 18 +p 1.4583468921677 1 2.41290110122088 47.2937745216901 +2 15 18 +p 1.4583468921677 1 2.41290110122088 47.2937745216901 +2 37 36 +p 1.5362554819989 1 3.16298481126905 3.22540236132228 +2 18 19 +p 1.4583468921677 1 3.16298481126905 3.22540236132228 +2 18 19 +p 1.4583468921677 1 3.16298481126905 3.22540236132228 +2 36 33 +p 1.5362554819989 1 1.17070917344763 37.9706273121035 +2 19 20 +p 1.4583468921677 1 1.17070917344763 37.9706273121035 +2 19 20 +p 1.4583468921677 1 1.17070917344763 37.9706273121035 +4 33 34 35 32 +p 1.5362554819989 1 6.20009588731763 6.23028078142578 6.26046567553394 6.29065056964209 +4 20 22 23 21 +p 1.4583468921677 1 6.20009588731763 6.23028078142578 6.26046567553394 6.29065056964209 +4 20 22 23 21 +p 1.4583468921677 1 6.20009588731763 6.23028078142578 6.26046567553394 6.29065056964209 +2 19 20 +p 0.425562500800006 1 0 17.978570685854 +2 26 25 +p 1.4583468921677 1 0 17.978570685854 +2 9 10 +p 0.203435998463916 1 0 17.978570685854 +2 9 10 +p 0.203435998463916 1 0 17.978570685854 +2 26 25 +p 1.4583468921677 1 0 17.978570685854 +2 18 19 +p 0.425562500800006 1 0 15.2266907703679 +2 27 26 +p 1.4583468921677 1 0 15.2266907703679 +2 8 9 +p 0.203435998463916 1 0 15.2266907703679 +2 8 9 +p 0.203435998463916 1 0 15.2266907703679 +2 27 26 +p 1.4583468921677 1 0 15.2266907703679 +2 17 18 +p 0.425562500800006 1 0 11.0875009908751 +2 28 27 +p 1.4583468921677 1 0 11.0875009908751 +2 7 8 +p 0.203435998463916 1 0 11.0875009908751 +2 7 8 +p 0.203435998463916 1 0 11.0875009908751 +2 28 27 +p 1.4583468921677 1 0 11.0875009908751 +2 26 27 +p 1.5362554819989 1 0.0712384683385669 0.0867425884251073 +2 31 30 +p 1.4583468921677 1 0.0712384683385669 0.0867425884251073 +2 31 30 +p 1.4583468921677 1 0.0712384683385669 0.0867425884251073 +2 23 26 +p 1.5362554819989 1 1.69906146770723 39.5230453777003 +2 32 31 +p 1.4583468921677 1 1.69906146770723 39.5230453777003 +2 32 31 +p 1.4583468921677 1 1.69906146770723 39.5230453777003 +4 22 24 25 23 +p 1.5362554819989 1 6.20009588731763 6.23028078142578 6.26046567553394 6.29065056964209 +4 33 34 35 32 +p 1.4583468921677 1 6.20009588731763 6.23028078142578 6.26046567553394 6.29065056964209 +4 33 34 35 32 +p 1.4583468921677 1 6.20009588731763 6.23028078142578 6.26046567553394 6.29065056964209 +2 21 22 +p 1.5362554819989 1 1.17070917344763 37.9706273121035 +2 36 33 +p 1.4583468921677 1 1.17070917344763 37.9706273121035 +2 36 33 +p 1.4583468921677 1 1.17070917344763 37.9706273121035 +2 20 21 +p 1.5362554819989 1 3.16298481126905 3.22540236132228 +2 37 36 +p 1.4583468921677 1 3.16298481126905 3.22540236132228 +2 37 36 +p 1.4583468921677 1 3.16298481126905 3.22540236132228 +2 17 20 +p 1.5362554819989 1 2.41290110122088 47.2937745216901 +2 38 37 +p 1.4583468921677 1 2.41290110122088 47.2937745216901 +2 38 37 +p 1.4583468921677 1 2.41290110122088 47.2937745216901 +4 16 18 19 17 +p 1.5362554819989 1 6.19927063496233 6.25638659281748 6.29208406647695 6.32778154013641 +4 39 40 41 38 +p 1.4583468921677 1 6.19927063496233 6.25638659281748 6.29208406647695 6.32778154013641 +4 39 40 41 38 +p 1.4583468921677 1 6.19927063496233 6.25638659281748 6.29208406647695 6.32778154013641 +2 13 16 +p 1.5362554819989 1 1.43866994036818 46.1665035080152 +2 42 39 +p 1.4583468921677 1 1.43866994036818 46.1665035080152 +2 42 39 +p 1.4583468921677 1 1.43866994036818 46.1665035080152 +4 12 14 15 13 +p 1.5362554819989 1 6.17302589269058 6.20711098362191 6.22841416545399 6.24971734728608 +4 43 44 45 42 +p 1.4583468921677 1 6.17302589269058 6.20711098362191 6.22841416545399 6.24971734728608 +4 43 44 45 42 +p 1.4583468921677 1 6.17302589269058 6.20711098362191 6.22841416545399 6.24971734728608 +2 11 12 +p 1.5362554819989 1 1.50951989137392 46.8733294770098 +2 46 43 +p 1.4583468921677 1 1.50951989137392 46.8733294770098 +2 46 43 +p 1.4583468921677 1 1.50951989137392 46.8733294770098 +2 10 11 +p 1.5362554819989 1 4.63299020378047 4.7134544916583 +2 47 46 +p 1.4583468921677 1 4.63299020378047 4.7134544916583 +2 47 46 +p 1.4583468921677 1 4.63299020378047 4.7134544916583 +2 7 10 +p 1.5362554819989 1 2.03636885870546 48.6861947673589 +2 48 47 +p 1.4583468921677 1 2.03636885870546 48.6861947673589 +2 48 47 +p 1.4583468921677 1 2.03636885870546 48.6861947673589 +4 6 8 9 7 +p 1.5362554819989 1 3.06013299387935 3.09629958580509 3.13246617773082 3.16863276965656 +4 49 50 51 48 +p 1.4583468921677 1 3.06013299387935 3.09629958580509 3.13246617773082 3.16863276965656 +4 49 50 51 48 +p 1.4583468921677 1 3.06013299387935 3.09629958580509 3.13246617773082 3.16863276965656 +2 5 6 +p 1.5362554819989 1 4.13578645578815 44.8394426351874 +2 52 49 +p 1.4583468921677 1 4.13578645578815 44.8394426351874 +2 52 49 +p 1.4583468921677 1 4.13578645578815 44.8394426351874 +2 4 5 +p 1.5362554819989 1 3.04435791006513 3.26404534765663 +2 53 52 +p 1.4583468921677 1 3.04435791006513 3.26404534765663 +2 53 52 +p 1.4583468921677 1 3.04435791006513 3.26404534765663 +Surfaces 19 +1 89164.822727216524 37523.660144969479 0 0 -0 1 0.047626582849348696 -0.99886521042936227 -0 0.99886521042936227 0.047626582849348696 0 +1 89184.98037206872 37524.657480506554 0 0 -0 1 0.060774959307161786 -0.99815149367278555 -0 0.99815149367278555 0.060774959307161786 0 +1 89209.300505145991 37526.422942857062 0 0 -0 1 0.073874767302730585 -0.99726752617137171 -0 0.99726752617137171 0.073874767302730585 0 +1 89231.541059204596 37527.996988920444 0 0 -0 1 0.019698979872157633 -0.99980595626951352 -0 0.99980595626951352 0.019698979872157633 0 +1 89256.805407089254 37527.197970341847 0 -0 0 1 -0.034505295281782332 -0.99940451499756444 0 0.99940451499756444 -0.034505295281782332 0 +1 89281.548438610727 37526.343115719857 0 -0 0 1 -0.035081719862620604 -0.99938444701300044 0 0.99938444701300044 -0.035081719862620604 0 +1 89305.72290238821 37525.48115873152 0 -0 0 1 -0.035656922531625015 -0.99936408974686186 0 0.99936408974686186 -0.035656922531625015 0 +1 89329.825486404196 37524.587093325994 0 -0 0 1 -0.071163197322485147 -0.9974646857642836 0 0.9974646857642836 -0.071163197322485147 0 +1 89353.484624026634 37522.085101742676 0 -0 0 1 -0.10658993249692038 -0.99430306561445436 0 0.99430306561445436 -0.10658993249692038 0 +1 89378.111401203496 37519.502447672487 0 -0 0 1 -0.071195622364936609 -0.99746237189984732 0 0.99746237189984732 -0.071195622364936609 0 +1 89402.872754105658 37518.561907696101 0 -0 0 1 -0.035651161405180341 -0.99936429528498849 0 0.99936429528498849 -0.035651161405180341 0 +1 89426.399717959124 37517.736528892812 0 -0 0 1 -0.017812665430832073 -0.99984134188892659 0 0.99984134188892659 -0.017812665430832073 0 +1 89445.962475816137 37517.722656249985 0 -0 0 1 -3.553322753867855e-011 -1 0 1 -3.553322753867855e-011 0 +1 89466.052749435941 37517.771735078662 0 0 -0 1 0.043362591112618018 -0.9990594004822736 -0 0.9990594004822736 0.043362591112618018 0 +1 89486.588247896929 37519.508271163373 0 0 -0 1 0.086633849915938671 -0.99624022005174162 -0 0.99624022005174162 0.086633849915938671 0 +1 89529.375 37564.609375 0 0 0 1 1 0 -0 -0 1 0 +1 89517.934047863426 37522.043549167909 0 0 -0 1 0.071178229266440254 -0.99746361321027355 -0 0.99746361321027355 0.071178229266440254 0 +1 89505.718868551063 37521.170377296658 0 0 -0 1 0.07890841049482307 -0.99688187000927075 -0 0.99688187000927075 0.07890841049482307 0 +1 89025.963498009267 37531.772430349287 0 0 0 1 1 0 -0 -0 1 0 +Triangulations 6 +52 50 1 7.37443883735978e-010 +89147.5749604288 37547.8661615107 0 89179.6891648618 37549.3973889497 0 89149.9562895712 37497.9229009893 0 89182.0704940043 37499.4541284282 0 89190.9315751005 37499.9937252806 0 89231.3631735545 37502.9887841253 0 89232.7051760402 37503.0151554346 0 89231.8092325494 37503.0137220555 0 89232.2567626422 37503.022534119 0 89279.1803733559 37501.4105594976 0 89282.1640110509 37501.3058229529 0 89327.4989475953 37499.6882900229 0 89328.593216838 37499.6102373186 0 89327.9863009231 37499.6631861882 0 89328.2901751337 37499.6396966418 0 89373.0465346022 37494.8448128833 0 89379.6222633764 37494.3754392381 0 89375.9652463197 37494.5784624864 0 89377.7929968074 37494.4588556295 0 89424.3406867745 37492.7801613914 0 89427.5687500736 37492.72265625 0 89464.3562015579 37492.72265625 0 89469.9132071214 37492.9638469869 0 89466.210642897 37492.7494762282 0 89468.0634862795 37492.8298999262 0 89507.5949811745 37496.2406843392 0 89507.7881764553 37496.2559767553 0 89531.6388307285 37497.9579409195 0 89528.0799192715 37547.8311215805 0 89504.2292649984 37546.1291574163 0 89503.2632886724 37546.0526953412 0 89465.5815146193 37542.7758579889 0 89464.3562015587 37542.72265625 0 89464.7647716708 37542.7285664242 0 89465.1733879371 37542.7463033623 0 89427.5687500744 37542.72265625 0 89426.1232448348 37542.748376156 0 89381.4048214367 37544.3436540027 0 89378.3760312151 37544.5599661653 0 89379.7226346977 37544.4370828708 0 89380.5649101811 37544.3819614329 0 89333.9227134509 37549.3253906006 0 89329.2817937255 37549.6564945101 0 89331.3472429018 37549.5500989937 0 89332.6360719573 37549.4504703853 0 89283.9468571811 37551.2740274402 0 89280.9056381383 37551.3807852469 0 89234.4304408226 37552.9853811838 0 89227.6694351911 37552.852160434 0 89229.9211306294 37552.9780600555 0 89232.1757812848 37553.0224685455 0 89187.2378367371 37549.8571015893 0 -25.0000000000073 -16.075344349636 -24.9999999999927 16.0753443496214 24.9999999999868 -16.0753443496511 25 16.0753443496214 24.8830384890753 24.9520691372891 23.8169972798205 65.4804306535807 23.8545708912352 66.8221662240539 23.8133319145659 65.9271711738334 23.8258441799423 66.374613102544 27.6708007826091 113.168202549321 27.9175189412708 116.143466199705 31.6923644231283 161.349919564847 31.822444860125 162.439229658339 31.7406507438311 161.835524239315 31.7785861248792 162.137934889789 38.6996211614678 206.615141379763 39.4816416558533 213.161053422635 39.1046775722123 209.517855614353 39.3111982104701 211.337835524054 43.2048948965967 257.752753187771 43.4160764058906 260.974414540979 45.168137011824 297.720120008933 45.1918811601645 303.282306631081 45.2296681727448 299.57373429132 45.2375803375133 301.428305392391 43.7134164639428 341.077384365664 43.7073426324932 341.271088736103 43.1432350012619 365.175736272751 -6.84284888580114 363.996152602092 -6.27874125457311 340.091505065386 -6.24837209933321 339.122983291978 -4.76990740041947 301.32790555738 -4.77512350960023 300.101449152193 -4.76156817869247 300.509837104639 -4.75982399267362 300.918834427184 -6.5271841155336 263.355743684238 -6.62171930988552 261.913103740124 -10.3449725469618 217.321403975118 -10.7052901710922 214.306353002175 -10.5184122008973 215.645575861694 -10.423238611169 216.484270293931 -17.5824664752363 170.130441281231 -18.134225797854 165.510557370682 -17.9295807316394 167.56859544191 -17.7686826569724 168.851216977485 -21.9090712797479 120.304104005554 -22.160550809509 117.2714206159 -25.9767807053504 70.9253842909093 -26.1657147256628 64.1657061288861 -26.1842309182405 66.4208425354414 -26.1212077077211 68.6750496613828 -25.0996735155059 23.6373446132784 20 38 17 20 37 38 21 36 37 21 37 20 4 2 1 4 1 3 22 33 36 22 36 21 24 33 22 5 49 52 5 52 2 24 34 33 5 2 4 6 50 49 25 35 34 25 34 24 6 49 5 8 51 50 23 35 25 8 50 6 23 32 35 9 48 51 9 51 8 26 32 23 26 31 32 7 48 9 27 29 30 27 30 31 27 31 26 10 46 47 10 47 48 28 29 27 10 48 7 11 46 10 43 46 11 12 43 11 14 44 43 14 43 12 15 45 44 15 44 14 13 42 45 13 45 15 16 42 13 16 39 42 18 39 16 18 40 39 18 41 40 19 41 18 19 38 41 17 38 19 +89 87 1 7.64195817737345e-010 +-164.284909447393 24.9403846312125 0 -138.487969749665 26.1704005261854 0 -130.939297874356 26.6301131657383 0 -90.50769942037 29.6251720104847 0 -83.7466937888821 29.7583927603046 0 -88.2560039820673 29.7510716319739 0 -86.0013533267047 29.7954801219821 0 -37.2714964732149 28.1537968233606 0 -34.230277430368 28.0470390166374 0 11.1046591140184 26.4295060865625 0 15.7455788394291 26.0984021770782 0 13.1701082903164 26.3231105701416 0 14.4589373458293 26.2234819617588 0 60.1988966036588 21.3329777418185 0 63.2276868252229 21.1166655791603 0 61.5455000861839 21.2100944472622 0 62.3877755695721 21.1549730093975 0 107.946110223318 19.5213877324422 0 109.391615462941 19.4956678264643 0 146.179066947181 19.4956678264643 0 147.404380007778 19.5488695654276 0 146.587637059318 19.5015780006506 0 146.996253325589 19.5193149387778 0 181.711834649745 22.532273390003 0 180.166615388516 19.9566053264789 0 177.213490388516 2.22223032647889 0 180.900990388516 -12.5512071735211 0 187.557240388516 -21.4183946735211 0 199.646821047034 -26.2548662590125 0 189.611041843862 -26.9710116681745 0 189.417846563025 -26.9863040843557 0 151.736072509884 -30.2631414366115 0 146.179066946366 -30.5043321735357 0 148.033508285531 -30.4775121953498 0 149.886351668043 -30.3970884972805 0 109.391615462126 -30.5043321735357 0 106.163552162994 -30.4468270321668 0 61.445128764899 -28.8515491854487 0 54.8693999907264 -28.3821755401805 0 57.7881117081852 -28.6485259371475 0 59.6158621959476 -28.768132793979 0 10.4160822264821 -23.6167511049207 0 9.32181298382056 -23.5386984006545 0 9.80916631163564 -23.5638022352869 0 10.1130405222357 -23.5872917817615 0 -36.0131235605659 -21.9211654705796 0 -38.9967612556211 -21.8164289258857 0 -85.4719585712883 -20.2118329889418 0 -86.8139610569779 -20.2382042982135 0 -86.3679020620475 -20.2132663679804 0 -85.9203719693178 -20.2044543044758 0 -127.245559510964 -23.2332631429599 0 -136.106640607206 -23.7728599952825 0 -162.511862415355 -25.0318792012404 0 -162.13998825445 21.6455804184079 0 -160.342513689044 18.6074700220124 0 -158.998458540475 16.1055316450947 0 -157.88745426583 13.8286640943115 0 -156.880917119997 11.5333313668452 0 -156.073130750912 9.45599654095713 0 -155.432225727665 7.58027028640936 0 -154.929997941566 5.88950194021163 0 -154.541939130373 4.36740307787113 0 -154.21757150082 2.84642522715149 0 -153.959894535583 1.32802149224881 0 -153.787484857297 -0.0351400095096324 0 -153.682387301931 -1.25832078770327 0 -153.626378664601 -2.477229024189 0 -153.621052993403 -3.69109247982124 0 -153.660911306069 -4.77861804659187 0 -153.733948677094 -5.75289719110879 0 -153.842853130103 -6.72253557607473 0 -153.987190602027 -7.6873681696743 0 -154.166208033348 -8.64729103208083 0 -154.379152301655 -9.6022002355312 0 -154.625270284567 -10.5519918522623 0 -154.903808859701 -11.4965619544892 0 -155.214014904661 -12.4358066144487 0 -155.555135297065 -13.3696219043704 0 -155.926416914532 -14.2979038964768 0 -156.32710663465 -15.2205486630046 0 -156.756451335052 -16.1374522761762 0 -157.213697893341 -17.0485108082212 0 -157.698093187122 -17.9536203313692 0 -158.208884094027 -18.8526769178497 0 -158.929696786159 -20.0418237256454 0 -159.79287860055 -21.3662238162215 0 -160.708954863847 -22.6761084222671 0 -161.590347195612 -23.8603372005309 0 -25.0000000000044 -9.75090270389581 -24.9999999999927 16.0753443496214 -25.0996735164372 23.6373446125654 -26.1657147256701 64.165706128857 -25.9767807008902 70.9253842906328 -26.1842309182405 66.4208425354414 -26.1212077077211 68.6750496613828 -22.1605508095163 117.2714206159 -21.9090712797042 120.304104005569 -18.1342257978467 165.510557370682 -17.5824664724423 170.13044128078 -17.9295807316394 167.56859544191 -17.7686826569724 168.851216977485 -10.7052901710995 214.306353002175 -10.3449725506362 217.321403975002 -10.5184122008973 215.645575861694 -10.423238611169 216.484270293931 -6.62171930988552 261.913103740124 -6.5271841155336 263.355743684238 -4.77512350960751 300.101449152207 -4.76990740312613 301.327905557308 -4.76156817869247 300.509837104639 -4.75982399267362 300.918834427184 -6.11597885996557 335.738517787025 -3.61682715086525 334.072381756083 13.956775812866 330.277980251315 28.8890715943255 333.25768736971 38.0632111445206 339.484070086521 43.469979767348 351.329587000331 43.707342632486 341.271088736059 43.7134164639501 341.077384365664 45.1918811628711 303.282306631139 45.168137011824 297.720120008933 45.2296681727448 299.57373429132 45.2375803375133 301.428305392391 43.4160764058906 260.974414540964 43.2048948965894 257.752753187786 39.4816416595204 213.161053422766 38.6996211614751 206.615141379749 39.1046775722123 209.517855614353 39.3111982104701 211.337835524054 31.822444857331 162.439229658805 31.6923644231138 161.349919564818 31.7406507438311 161.835524239315 31.7785861248792 162.137934889789 27.9175189412199 116.143466199719 27.6708007826164 113.168202549306 23.854570886775 66.8221662243595 23.8169972798205 65.4804306535952 23.8133319145659 65.9271711738334 23.8258441799423 66.374613102544 24.883038489992 24.9520691379876 25.0000000000145 16.0753443496069 25 -10.3598758707283 -21.6067794297546 -7.76533581095473 -18.4865090780454 -6.11459581743192 -15.9233971208156 -4.89122466402916 -13.5961999984484 -3.88992056649371 -11.255534065855 -2.99384448282251 -9.14208447343275 -2.28591114046902 -7.23796265728623 -1.73506784142888 -5.52519358411494 -1.3139354969078 -3.98634006856458 -0.998809418377915 -2.45163968586164 -0.747248855445875 -0.922686746350276 -0.56218068061864 0.447139137781718 -0.454889375230739 1.67393730061224 -0.40816700415089 2.89412983274925 -0.410274358957027 4.10686945230915 -0.462766899701116 5.19126259118281 -0.554375108080702 6.16095761348573 -0.673731183459971 7.12430891597563 -0.828692615709114 8.08117232703968 -1.01881797443774 9.03147989047232 -1.24335010437385 9.97516366508433 -1.50153178804003 10.9121557096865 -1.79260580795884 11.8423880830895 -2.11581494665286 12.7657928441041 -2.47040198664466 13.6823020515411 -2.8556097104568 14.5918477642112 -3.27068090061186 15.4943620409252 -3.71485833963241 16.3897769404938 -4.18738481004103 17.2780245217279 -4.68750309436027 18.159036843438 -5.21445597511272 19.0327459644351 -5.76748623482095 20.1862134954393 -6.54411595519225 21.4680002704054 -7.4693948905021 22.7327688510099 -8.44681692771962 23.8736760738974 -9.3836098346864 35 23 22 50 7 6 35 22 34 50 6 49 32 21 23 32 26 21 51 5 7 32 23 35 51 7 50 27 26 32 48 5 51 28 27 32 31 28 32 47 8 5 47 9 8 47 5 48 30 28 31 46 9 47 29 28 30 2 1 55 2 55 56 2 56 57 2 57 58 43 10 9 2 58 59 2 59 60 2 60 61 43 9 46 44 10 43 44 12 10 45 12 44 62 2 61 45 13 12 63 2 62 42 13 45 42 11 13 64 2 63 39 11 42 39 14 11 40 16 14 40 17 16 3 64 65 40 14 39 3 2 64 41 17 40 66 3 65 41 15 17 38 15 41 53 69 70 37 18 15 53 70 71 53 71 72 53 72 73 53 73 74 53 74 75 37 15 38 53 75 76 53 76 77 53 77 78 36 19 18 53 78 79 53 79 80 53 80 81 53 81 82 53 82 83 36 18 37 53 83 84 53 84 85 53 85 86 53 86 87 53 87 88 53 88 89 53 89 54 25 24 21 33 20 19 33 19 36 52 4 3 52 69 53 52 3 66 26 25 21 52 66 67 52 67 68 34 22 20 52 68 69 34 20 33 49 6 4 49 4 52 +89 87 1 7.64195817737345e-010 +-164.284909447393 24.9403846312125 0 -138.487969749665 26.1704005261854 0 -130.939297874356 26.6301131657383 0 -90.50769942037 29.6251720104847 0 -83.7466937888821 29.7583927603046 0 -88.2560039820673 29.7510716319739 0 -86.0013533267047 29.7954801219821 0 -37.2714964732149 28.1537968233606 0 -34.230277430368 28.0470390166374 0 11.1046591140184 26.4295060865625 0 15.7455788394291 26.0984021770782 0 13.1701082903164 26.3231105701416 0 14.4589373458293 26.2234819617588 0 60.1988966036588 21.3329777418185 0 63.2276868252229 21.1166655791603 0 61.5455000861839 21.2100944472622 0 62.3877755695721 21.1549730093975 0 107.946110223318 19.5213877324422 0 109.391615462941 19.4956678264643 0 146.179066947181 19.4956678264643 0 147.404380007778 19.5488695654276 0 146.587637059318 19.5015780006506 0 146.996253325589 19.5193149387778 0 181.711834649745 22.532273390003 0 180.166615388516 19.9566053264789 0 177.213490388516 2.22223032647889 0 180.900990388516 -12.5512071735211 0 187.557240388516 -21.4183946735211 0 199.646821047034 -26.2548662590125 0 189.611041843862 -26.9710116681745 0 189.417846563025 -26.9863040843557 0 151.736072509884 -30.2631414366115 0 146.179066946366 -30.5043321735357 0 148.033508285531 -30.4775121953498 0 149.886351668043 -30.3970884972805 0 109.391615462126 -30.5043321735357 0 106.163552162994 -30.4468270321668 0 61.445128764899 -28.8515491854487 0 54.8693999907264 -28.3821755401805 0 57.7881117081852 -28.6485259371475 0 59.6158621959476 -28.768132793979 0 10.4160822264821 -23.6167511049207 0 9.32181298382056 -23.5386984006545 0 9.80916631163564 -23.5638022352869 0 10.1130405222357 -23.5872917817615 0 -36.0131235605659 -21.9211654705796 0 -38.9967612556211 -21.8164289258857 0 -85.4719585712883 -20.2118329889418 0 -86.8139610569779 -20.2382042982135 0 -86.3679020620475 -20.2132663679804 0 -85.9203719693178 -20.2044543044758 0 -127.245559510964 -23.2332631429599 0 -136.106640607206 -23.7728599952825 0 -162.511862415355 -25.0318792012404 0 -162.13998825445 21.6455804184079 0 -160.342513689044 18.6074700220124 0 -158.998458540475 16.1055316450947 0 -157.88745426583 13.8286640943115 0 -156.880917119997 11.5333313668452 0 -156.073130750912 9.45599654095713 0 -155.432225727665 7.58027028640936 0 -154.929997941566 5.88950194021163 0 -154.541939130373 4.36740307787113 0 -154.21757150082 2.84642522715149 0 -153.959894535583 1.32802149224881 0 -153.787484857297 -0.0351400095096324 0 -153.682387301931 -1.25832078770327 0 -153.626378664601 -2.477229024189 0 -153.621052993403 -3.69109247982124 0 -153.660911306069 -4.77861804659187 0 -153.733948677094 -5.75289719110879 0 -153.842853130103 -6.72253557607473 0 -153.987190602027 -7.6873681696743 0 -154.166208033348 -8.64729103208083 0 -154.379152301655 -9.6022002355312 0 -154.625270284567 -10.5519918522623 0 -154.903808859701 -11.4965619544892 0 -155.214014904661 -12.4358066144487 0 -155.555135297065 -13.3696219043704 0 -155.926416914532 -14.2979038964768 0 -156.32710663465 -15.2205486630046 0 -156.756451335052 -16.1374522761762 0 -157.213697893341 -17.0485108082212 0 -157.698093187122 -17.9536203313692 0 -158.208884094027 -18.8526769178497 0 -158.929696786159 -20.0418237256454 0 -159.79287860055 -21.3662238162215 0 -160.708954863847 -22.6761084222671 0 -161.590347195612 -23.8603372005309 0 -25.0000000000044 -9.75090270389581 -24.9999999999927 16.0753443496214 -25.0996735164372 23.6373446125654 -26.1657147256701 64.165706128857 -25.9767807008902 70.9253842906328 -26.1842309182405 66.4208425354414 -26.1212077077211 68.6750496613828 -22.1605508095163 117.2714206159 -21.9090712797042 120.304104005569 -18.1342257978467 165.510557370682 -17.5824664724423 170.13044128078 -17.9295807316394 167.56859544191 -17.7686826569724 168.851216977485 -10.7052901710995 214.306353002175 -10.3449725506362 217.321403975002 -10.5184122008973 215.645575861694 -10.423238611169 216.484270293931 -6.62171930988552 261.913103740124 -6.5271841155336 263.355743684238 -4.77512350960751 300.101449152207 -4.76990740312613 301.327905557308 -4.76156817869247 300.509837104639 -4.75982399267362 300.918834427184 -6.11597885996557 335.738517787025 -3.61682715086525 334.072381756083 13.956775812866 330.277980251315 28.8890715943255 333.25768736971 38.0632111445206 339.484070086521 43.469979767348 351.329587000331 43.707342632486 341.271088736059 43.7134164639501 341.077384365664 45.1918811628711 303.282306631139 45.168137011824 297.720120008933 45.2296681727448 299.57373429132 45.2375803375133 301.428305392391 43.4160764058906 260.974414540964 43.2048948965894 257.752753187786 39.4816416595204 213.161053422766 38.6996211614751 206.615141379749 39.1046775722123 209.517855614353 39.3111982104701 211.337835524054 31.822444857331 162.439229658805 31.6923644231138 161.349919564818 31.7406507438311 161.835524239315 31.7785861248792 162.137934889789 27.9175189412199 116.143466199719 27.6708007826164 113.168202549306 23.854570886775 66.8221662243595 23.8169972798205 65.4804306535952 23.8133319145659 65.9271711738334 23.8258441799423 66.374613102544 24.883038489992 24.9520691379876 25.0000000000145 16.0753443496069 25 -10.3598758707283 -21.6067794297546 -7.76533581095473 -18.4865090780454 -6.11459581743192 -15.9233971208156 -4.89122466402916 -13.5961999984484 -3.88992056649371 -11.255534065855 -2.99384448282251 -9.14208447343275 -2.28591114046902 -7.23796265728623 -1.73506784142888 -5.52519358411494 -1.3139354969078 -3.98634006856458 -0.998809418377915 -2.45163968586164 -0.747248855445875 -0.922686746350276 -0.56218068061864 0.447139137781718 -0.454889375230739 1.67393730061224 -0.40816700415089 2.89412983274925 -0.410274358957027 4.10686945230915 -0.462766899701116 5.19126259118281 -0.554375108080702 6.16095761348573 -0.673731183459971 7.12430891597563 -0.828692615709114 8.08117232703968 -1.01881797443774 9.03147989047232 -1.24335010437385 9.97516366508433 -1.50153178804003 10.9121557096865 -1.79260580795884 11.8423880830895 -2.11581494665286 12.7657928441041 -2.47040198664466 13.6823020515411 -2.8556097104568 14.5918477642112 -3.27068090061186 15.4943620409252 -3.71485833963241 16.3897769404938 -4.18738481004103 17.2780245217279 -4.68750309436027 18.159036843438 -5.21445597511272 19.0327459644351 -5.76748623482095 20.1862134954393 -6.54411595519225 21.4680002704054 -7.4693948905021 22.7327688510099 -8.44681692771962 23.8736760738974 -9.3836098346864 35 23 22 50 7 6 35 22 34 50 6 49 32 21 23 32 26 21 51 5 7 32 23 35 51 7 50 27 26 32 48 5 51 28 27 32 31 28 32 47 8 5 47 9 8 47 5 48 30 28 31 46 9 47 29 28 30 2 1 55 2 55 56 2 56 57 2 57 58 43 10 9 2 58 59 2 59 60 2 60 61 43 9 46 44 10 43 44 12 10 45 12 44 62 2 61 45 13 12 63 2 62 42 13 45 42 11 13 64 2 63 39 11 42 39 14 11 40 16 14 40 17 16 3 64 65 40 14 39 3 2 64 41 17 40 66 3 65 41 15 17 38 15 41 53 69 70 37 18 15 53 70 71 53 71 72 53 72 73 53 73 74 53 74 75 37 15 38 53 75 76 53 76 77 53 77 78 36 19 18 53 78 79 53 79 80 53 80 81 53 81 82 53 82 83 36 18 37 53 83 84 53 84 85 53 85 86 53 86 87 53 87 88 53 88 89 53 89 54 25 24 21 33 20 19 33 19 36 52 4 3 52 69 53 52 3 66 26 25 21 52 66 67 52 67 68 34 22 20 52 68 69 34 20 33 49 6 4 49 4 52 +22 20 1 1.77635683940025e-015 +89529.375 37564.609375 0 89537.5 37572.734375 0 89545.625 37577.90625 0 89550.8046875 37575.69140625 0 89563.359375 37575.69140625 0 89576.6640625 37569.78125 0 89579.6171875 37560.17578125 0 89589.9609375 37546.875 0 89597.3515625 37538.01171875 0 89601.78125 37523.97265625 0 89594.390625 37514.3671875 0 89584.046875 37504.76171875 0 89573.703125 37498.11328125 0 89560.40625 37493.6796875 0 89541.9375 37491.46484375 0 89520.5078125 37495.8984375 0 89505.734375 37501.80859375 0 89499.078125 37510.67578125 0 89495.390625 37525.44921875 0 89498.34375 37543.18359375 0 89504.9921875 37554.265625 0 89510.1640625 37561.65234375 0 0 0 8.125 8.125 16.25 13.296875 21.4296875 11.08203125 33.984375 11.08203125 47.2890625 5.171875 50.2421875 -4.43359375 60.5859375 -17.734375 67.9765625 -26.59765625 72.40625 -40.63671875 65.015625 -50.2421875 54.671875 -59.84765625 44.328125 -66.49609375 31.03125 -70.9296875 12.5625 -73.14453125 -8.8671875 -68.7109375 -23.640625 -62.80078125 -30.296875 -53.93359375 -33.984375 -39.16015625 -31.03125 -21.42578125 -24.3828125 -10.34375 -19.2109375 -2.95703125 16 18 17 19 18 16 20 19 16 1 15 14 1 16 15 1 21 20 1 22 21 1 20 16 4 2 1 4 3 2 9 11 10 8 12 11 8 13 12 8 11 9 7 5 4 7 14 13 7 1 14 7 13 8 7 4 1 6 5 7 +10 8 1 1.42650335988037e-011 +181.711834649745 22.532273390003 0 185.086154060918 22.8257069176834 0 186.052130386874 22.9021689927977 0 209.902784660022 24.6041331569577 0 213.461696117025 -25.2690475040145 0 199.646821047034 -26.2548662590125 0 187.557240388516 -21.4183946735211 0 180.900990388516 -12.5512071735211 0 177.213490388516 2.22223032647889 0 180.166615388516 19.9566053264789 0 -6.11597885996557 335.738517787025 -6.24837209934049 339.12298329192 -6.27874125455855 340.091505065371 -6.84284888579714 363.996152602078 43.1432350012555 365.175736272772 43.4699797673438 351.329587000319 38.0632111445206 339.484070086521 28.8890715943255 333.25768736971 13.956775812866 330.277980251315 -3.61682715086525 334.072381756083 2 1 10 3 2 10 9 3 10 4 3 9 8 4 9 6 8 7 6 4 8 5 4 6 +10 8 1 7.97228949522832e-012 +181.711834649745 22.532273390003 0 185.086154060918 22.8257069176834 0 186.052130386874 22.9021689927977 0 209.902784660022 24.6041331569577 0 213.461696117025 -25.2690475040145 0 199.646821047034 -26.2548662590125 0 187.557240388516 -21.4183946735211 0 180.900990388516 -12.5512071735211 0 177.213490388516 2.22223032647889 0 180.166615388516 19.9566053264789 0 -29.4860307387652 -18.8501131864729 -26.1117113275541 -18.5566796588028 -25.1457350016426 -18.4802175836812 -1.29508072849421 -16.7782534195212 2.26383072849421 -66.6514340805006 -11.5510443414805 -67.6372528354945 -23.640625 -62.80078125 -30.296875 -53.93359375 -33.984375 -39.16015625 -31.03125 -21.42578125 6 8 7 2 1 10 3 10 9 3 2 10 4 6 5 4 9 8 4 8 6 4 3 9 + +TShapes 78 +Ve +1.00000001776357e-007 +-164.28490944739 24.9403846312127 0 +0 0 + +0101101 +* +Ve +1.01e-007 +89179.6891648618 37549.3973889497 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 1 0 6.37748614472768 32.4203436774647 +2 1 1 0 6.37748614472768 32.4203436774647 +0 + +0101000 ++78 3 -77 0 * +Ve +2.19534980935138e-007 +89187.2378367371 37549.8571015893 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 2 0 3.04435791006513 3.26404534765663 +2 2 2 0 3.04435791006513 3.26404534765663 +2 3 1 0 3.04435791006513 3.26404534765663 +6 1 1 0 +6 2 2 5 +6 3 3 7 +0 + +0101000 +-75 0 +77 0 * +Ve +1.01e-007 +89227.6694351911 37552.852160434 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 3 0 4.13578645578815 44.8394426351874 +2 4 3 0 4.13578645578815 44.8394426351874 +2 5 1 0 4.13578645578815 44.8394426351874 +6 4 1 0 +6 5 2 5 +6 6 3 7 +0 + +0101000 +-73 0 +75 0 * +Ve +1.06940469647803e-007 +89234.4304408226 37552.9853811838 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 4 0 3.06013299387935 3.16863276965656 +2 6 4 0 3.06013299387935 3.16863276965656 +2 7 1 0 3.06013299387935 3.16863276965656 +6 7 1 0 +6 8 2 5 +6 9 3 7 +0 + +0101000 +-71 0 +73 0 * +Ve +1.01e-007 +89280.9056381383 37551.3807852469 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 5 0 2.03636885870546 48.6861947673589 +2 8 5 0 2.03636885870546 48.6861947673589 +2 9 1 0 2.03636885870546 48.6861947673589 +6 10 1 0 +6 11 2 5 +6 12 3 7 +0 + +0101000 +-69 0 +71 0 * +Ve +1.01e-007 +89283.9468571811 37551.2740274402 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 6 0 4.63299020378047 4.7134544916583 +2 10 6 0 4.63299020378047 4.7134544916583 +2 11 1 0 4.63299020378047 4.7134544916583 +6 13 1 0 +6 14 2 5 +6 15 3 7 +0 + +0101000 +-67 0 +69 0 * +Ve +1.01e-007 +89329.2817937255 37549.6564945101 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 7 0 1.50951989137392 46.8733294770098 +2 12 7 0 1.50951989137392 46.8733294770098 +2 13 1 0 1.50951989137392 46.8733294770098 +6 16 1 0 +6 17 2 5 +6 18 3 7 +0 + +0101000 +-65 0 +67 0 * +Ve +1.02700581647779e-007 +89333.9227134509 37549.3253906006 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 8 0 6.17302589269058 6.24971734728608 +2 14 8 0 6.17302589269058 6.24971734728608 +2 15 1 0 6.17302589269058 6.24971734728608 +6 19 1 0 +6 20 2 5 +6 21 3 7 +0 + +0101000 +-63 0 +65 0 * +Ve +1.01e-007 +89378.3760312151 37544.5599661653 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 9 0 1.43866994036818 46.1665035080152 +2 16 9 0 1.43866994036818 46.1665035080152 +2 17 1 0 1.43866994036818 46.1665035080152 +6 22 1 0 +6 23 2 5 +6 24 3 7 +0 + +0101000 +-61 0 +63 0 * +Ve +1.32781756908256e-007 +89381.4048214367 37544.3436540027 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 10 0 6.19927063496233 6.32778154013641 +2 18 10 0 6.19927063496233 6.32778154013641 +2 19 1 0 6.19927063496233 6.32778154013641 +6 25 1 0 +6 26 2 5 +6 27 3 7 +0 + +0101000 +-59 0 +61 0 * +Ve +1.01e-007 +89426.1232448348 37542.748376156 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 11 0 2.41290110122088 47.2937745216901 +2 20 11 0 2.41290110122088 47.2937745216901 +2 21 1 0 2.41290110122088 47.2937745216901 +6 28 1 0 +6 29 2 5 +6 30 3 7 +0 + +0101000 +-57 0 +59 0 * +Ve +1.01e-007 +89427.5687500744 37542.72265625 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 12 0 3.16298481126905 3.22540236132228 +2 22 12 0 3.16298481126905 3.22540236132228 +2 23 1 0 3.16298481126905 3.22540236132228 +6 31 1 0 +6 32 2 5 +6 33 3 7 +0 + +0101000 +-55 0 +57 0 * +Ve +1.01e-007 +89464.3562015587 37542.72265625 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 13 0 1.17070917344763 37.9706273121035 +2 24 13 0 1.17070917344763 37.9706273121035 +2 25 1 0 1.17070917344763 37.9706273121035 +6 34 1 0 +6 35 2 5 +6 36 3 7 +0 + +0101000 +-53 0 +55 0 * +Ve +1.04412372155159e-007 +89465.5815146193 37542.7758579889 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 14 0 6.20009588731763 6.29065056964209 +2 26 14 0 6.20009588731763 6.29065056964209 +2 27 1 0 6.20009588731763 6.29065056964209 +6 37 1 0 +6 38 2 5 +6 39 3 7 +0 + +0101000 +-51 0 +53 0 * +Ve +1.00000017763568e-007 +181.711834649751 22.532273390006 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 15 0 1.69906146770723 36.1359913888135 +2 28 15 0 1.69906146770723 36.1359913888135 +2 29 1 0 1.69906146770723 36.1359913888135 +0 + +0101000 ++51 0 -49 3 * +Ve +1e-007 +89498.34375 37543.18359375 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 16 0 0 3.00362589860391 +2 30 16 0 0 3.00362589860391 +2 31 1 0 0 3.00362589860391 +0 + +0101000 ++47 0 -49 3 * +Ve +1e-007 +89495.390625 37525.44921875 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 17 0 0 17.978570685854 +6 40 4 0 +2 32 16 0 0 17.978570685854 +2 33 1 0 0 17.978570685854 +6 41 2 5 +6 42 5 5 +6 43 6 7 +6 44 3 7 +0 + +0101000 ++45 0 -47 0 * +Ve +1e-007 +89499.078125 37510.67578125 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 18 0 0 15.2266907703679 +6 45 4 0 +2 34 16 0 0 15.2266907703679 +2 35 1 0 0 15.2266907703679 +6 46 2 5 +6 47 5 5 +6 48 6 7 +6 49 3 7 +0 + +0101000 ++43 0 -45 0 * +Ve +1e-007 +89505.734375 37501.80859375 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 19 0 0 11.0875009908751 +6 50 4 0 +2 36 16 0 0 11.0875009908751 +2 37 1 0 0 11.0875009908751 +6 51 2 5 +6 52 5 5 +6 53 6 7 +6 54 3 7 +0 + +0101000 ++41 0 -43 0 * +Ve +1.00000012434498e-007 +199.646821047036 -26.2548662590156 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 20 0 2.89065499573297 15.91176930658 +2 38 16 0 2.89065499573297 15.91176930658 +2 39 1 0 2.89065499573297 15.91176930658 +0 + +0101000 ++39 3 -41 0 * +Ve +1.01e-007 +89507.7881764553 37496.2559767553 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 21 0 0.29070807495669 10.3520066224579 +2 40 17 0 0.29070807495669 10.3520066224579 +2 41 1 0 0.29070807495669 10.3520066224579 +0 + +0101000 ++37 0 -39 3 * +Ve +1.01e-007 +89507.5949811745 37496.2406843392 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 22 0 0.0712384683385669 0.0867425884251073 +2 42 18 0 0.0712384683385669 0.0867425884251073 +2 43 1 0 0.0712384683385669 0.0867425884251073 +6 55 1 0 +6 56 2 5 +6 57 3 7 +0 + +0101000 ++35 0 -37 0 * +Ve +1.04412372155159e-007 +89469.9132071214 37492.9638469869 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 23 0 1.69906146770723 39.5230453777003 +2 44 15 0 1.69906146770723 39.5230453777003 +2 45 1 0 1.69906146770723 39.5230453777003 +6 58 1 0 +6 59 2 5 +6 60 3 7 +0 + +0101000 ++33 0 -35 0 * +Ve +1.01e-007 +89464.3562015579 37492.72265625 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 24 0 6.20009588731763 6.29065056964209 +2 46 14 0 6.20009588731763 6.29065056964209 +2 47 1 0 6.20009588731763 6.29065056964209 +6 61 1 0 +6 62 2 5 +6 63 3 7 +0 + +0101000 ++31 0 -33 0 * +Ve +1.01e-007 +89427.5687500736 37492.72265625 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 25 0 1.17070917344763 37.9706273121035 +2 48 13 0 1.17070917344763 37.9706273121035 +2 49 1 0 1.17070917344763 37.9706273121035 +6 64 1 0 +6 65 2 5 +6 66 3 7 +0 + +0101000 ++29 0 -31 0 * +Ve +1.01e-007 +89424.3406867745 37492.7801613914 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 26 0 3.16298481126905 3.22540236132228 +2 50 12 0 3.16298481126905 3.22540236132228 +2 51 1 0 3.16298481126905 3.22540236132228 +6 67 1 0 +6 68 2 5 +6 69 3 7 +0 + +0101000 ++27 0 -29 0 * +Ve +1.32781756908256e-007 +89379.6222633764 37494.3754392381 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 27 0 2.41290110122088 47.2937745216901 +2 52 11 0 2.41290110122088 47.2937745216901 +2 53 1 0 2.41290110122088 47.2937745216901 +6 70 1 0 +6 71 2 5 +6 72 3 7 +0 + +0101000 ++25 0 -27 0 * +Ve +1.01e-007 +89373.0465346022 37494.8448128833 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 28 0 6.19927063496233 6.32778154013641 +2 54 10 0 6.19927063496233 6.32778154013641 +2 55 1 0 6.19927063496233 6.32778154013641 +6 73 1 0 +6 74 2 5 +6 75 3 7 +0 + +0101000 ++23 0 -25 0 * +Ve +1.02700581647779e-007 +89328.593216838 37499.6102373186 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 29 0 1.43866994036818 46.1665035080152 +2 56 9 0 1.43866994036818 46.1665035080152 +2 57 1 0 1.43866994036818 46.1665035080152 +6 76 1 0 +6 77 2 5 +6 78 3 7 +0 + +0101000 ++21 0 -23 0 * +Ve +1.01e-007 +89327.4989475953 37499.6882900229 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 30 0 6.17302589269058 6.24971734728608 +2 58 8 0 6.17302589269058 6.24971734728608 +2 59 1 0 6.17302589269058 6.24971734728608 +6 79 1 0 +6 80 2 5 +6 81 3 7 +0 + +0101000 ++19 0 -21 0 * +Ve +1.01e-007 +89282.1640110509 37501.3058229529 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 31 0 1.50951989137392 46.8733294770098 +2 60 7 0 1.50951989137392 46.8733294770098 +2 61 1 0 1.50951989137392 46.8733294770098 +6 82 1 0 +6 83 2 5 +6 84 3 7 +0 + +0101000 ++17 0 -19 0 * +Ve +1.01e-007 +89279.1803733559 37501.4105594976 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 32 0 4.63299020378047 4.7134544916583 +2 62 6 0 4.63299020378047 4.7134544916583 +2 63 1 0 4.63299020378047 4.7134544916583 +6 85 1 0 +6 86 2 5 +6 87 3 7 +0 + +0101000 ++15 0 -17 0 * +Ve +1.06940469647803e-007 +89232.7051760402 37503.0151554346 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 33 0 2.03636885870546 48.6861947673589 +2 64 5 0 2.03636885870546 48.6861947673589 +2 65 1 0 2.03636885870546 48.6861947673589 +6 88 1 0 +6 89 2 5 +6 90 3 7 +0 + +0101000 ++13 0 -15 0 * +Ve +1.01e-007 +89231.3631735545 37502.9887841253 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 34 0 3.06013299387935 3.16863276965656 +2 66 4 0 3.06013299387935 3.16863276965656 +2 67 1 0 3.06013299387935 3.16863276965656 +6 91 1 0 +6 92 2 5 +6 93 3 7 +0 + +0101000 ++11 0 -13 0 * +Ve +2.19534980935138e-007 +89190.9315751005 37499.9937252806 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 35 0 4.13578645578815 44.8394426351874 +2 68 3 0 4.13578645578815 44.8394426351874 +2 69 1 0 4.13578645578815 44.8394426351874 +6 94 1 0 +6 95 2 5 +6 96 3 7 +0 + +0101000 ++9 0 -11 0 * +Ve +1.01e-007 +89182.0704940043 37499.4541284282 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 36 0 3.04435791006513 3.26404534765663 +2 70 2 0 3.04435791006513 3.26404534765663 +2 71 1 0 3.04435791006513 3.26404534765663 +6 97 1 0 +6 98 2 5 +6 99 3 7 +0 + +0101000 ++7 0 -9 0 * +Ve +1.00000014210855e-007 +-162.511862415353 -25.0318792012376 0 +0 0 + +0101101 +* +Ed + 1e-007 1 1 0 +1 37 0 5.76340538448784 32.4203436774647 +2 72 1 0 5.76340538448784 32.4203436774647 +0 + +0101000 ++5 3 -7 0 * +Ed + 1e-007 1 1 0 +1 38 0 127.86160731237 182.257163443736 +2 73 19 0 127.86160731237 182.257163443736 +2 74 1 0 127.86160731237 182.257163443736 +0 + +0101000 ++78 3 -5 3 * +Wi + +0101100 +-76 2 -74 2 -72 2 -70 2 -68 2 -66 2 -64 2 -62 2 -60 2 -58 2 +-56 2 -54 2 -52 2 -50 2 -48 2 +46 2 +44 2 +42 2 +40 2 +38 2 ++36 2 +34 2 +32 2 +30 2 +28 2 +26 2 +24 2 +22 2 +20 2 +18 2 ++16 2 +14 2 +12 2 +10 2 +8 2 +6 2 +4 2 +3 2 * +Fa +0 1e-007 1 2 + +0111000 ++2 0 * + ++1 1 +0 + diff --git a/src/HYDRO_tests/test_HYDROData_CalcCase.cxx b/src/HYDRO_tests/test_HYDROData_CalcCase.cxx new file mode 100644 index 00000000..42ad3731 --- /dev/null +++ b/src/HYDRO_tests/test_HYDROData_CalcCase.cxx @@ -0,0 +1,104 @@ +// Copyright (C) 2014-2015 EDF-R&D +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +const QString REF_DATA_PATH = qgetenv( "HYDRO_ROOT_DIR" ) + "/bin/salome/test"; + + +void test_HYDROData_CalcCase::test_add_int_wires() +{ + { + TopoDS_Shape out; + TopTools_ListOfShape Wires; + + BRep_Builder B; + TopoDS_Shape InF; + TopoDS_Shape InP; + BRepTools::Read(InP, (REF_DATA_PATH + "/p1.brep").toStdString().c_str(), B); + BRepTools::Read(InF, (REF_DATA_PATH + "/r2.brep").toStdString().c_str(), B); + Wires.Append(InP); + + TopTools_ListOfShape OutSh; + HYDROData_SplitToZonesTool::CutByEdges(InF, Wires, OutSh); + CPPUNIT_ASSERT_EQUAL(2, OutSh.Extent()); + TopoDS_Compound cmp; + B.MakeCompound(cmp); + B.Add(cmp, OutSh.First()); + B.Add(cmp, OutSh.Last()); + TestViewer::show( cmp, AIS_Shaded, true, "cc_int_w_1" ); + //CPPUNIT_ASSERT_IMAGES + } + + { + TopoDS_Shape out; + TopTools_ListOfShape Wires; + + BRep_Builder B; + TopoDS_Shape InF; + TopoDS_Shape InP; + BRepTools::Read(InP, (REF_DATA_PATH + "/p2.brep").toStdString().c_str(), B); + BRepTools::Read(InF, (REF_DATA_PATH + "/r2.brep").toStdString().c_str(), B); + Wires.Append(InP); + + TopTools_ListOfShape OutSh; + HYDROData_SplitToZonesTool::CutByEdges(InF, Wires, OutSh); + CPPUNIT_ASSERT_EQUAL(1, OutSh.Extent()); + TestViewer::show( OutSh.First(), AIS_WireFrame, true, "cc_int_w_2" ); + //CPPUNIT_ASSERT_IMAGES + } + + { + TopoDS_Shape out; + TopTools_ListOfShape Wires; + + BRep_Builder B; + TopoDS_Shape InF; + TopoDS_Shape InP; + BRepTools::Read(InP, (REF_DATA_PATH + "/p3.brep").toStdString().c_str(), B); + BRepTools::Read(InF, (REF_DATA_PATH + "/r2.brep").toStdString().c_str(), B); + Wires.Append(InP); + + TopTools_ListOfShape OutSh; + HYDROData_SplitToZonesTool::CutByEdges(InF, Wires, OutSh); + CPPUNIT_ASSERT_EQUAL(1, OutSh.Extent()); + TestViewer::show( OutSh.First(), AIS_WireFrame, true, "cc_int_w_3" ); + CPPUNIT_ASSERT_IMAGES + } + +} + + + diff --git a/src/HYDRO_tests/test_HYDROData_CalcCase.h b/src/HYDRO_tests/test_HYDROData_CalcCase.h new file mode 100644 index 00000000..c4dbda7f --- /dev/null +++ b/src/HYDRO_tests/test_HYDROData_CalcCase.h @@ -0,0 +1,43 @@ +// Copyright (C) 2014-2015 EDF-R&D +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +#ifdef WIN32 + #pragma warning( disable: 4251 ) +#endif + +#include +#define SHP_TESTS + +class test_HYDROData_CalcCase : public CppUnit::TestFixture +{ + CPPUNIT_TEST_SUITE( test_HYDROData_CalcCase ); + CPPUNIT_TEST( test_add_int_wires ); + + CPPUNIT_TEST_SUITE_END(); + +public: + void test_add_int_wires(); + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION( test_HYDROData_CalcCase ); +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( test_HYDROData_CalcCase, "HYDROData_CalcCase" ); + +#ifdef WIN32 + #pragma warning( default: 4251 ) +#endif diff --git a/src/HYDRO_tests/test_HYDROData_LandCoverMap.cxx b/src/HYDRO_tests/test_HYDROData_LandCoverMap.cxx index a66ae5ef..3656a9aa 100644 --- a/src/HYDRO_tests/test_HYDROData_LandCoverMap.cxx +++ b/src/HYDRO_tests/test_HYDROData_LandCoverMap.cxx @@ -1278,24 +1278,3 @@ void test_HYDROData_LandCoverMap::test_shp_clc_classification_check() } -void test_HYDROData_LandCoverMap::test_add_int_edges_1() -{ - TopoDS_Shape out; - TopTools_ListOfShape Wires; - - BRep_Builder B; - TopoDS_Shape InF; - TopoDS_Shape InP; - BRepTools::Read(InP, "d:/p2.brep", B); //TODO - BRepTools::Read(InF, "d:/r2.brep", B); - Wires.Append(InP); - - TopTools_ListOfShape OutSh; - HYDROData_SplitToZonesTool::CutByEdges(InF, Wires, OutSh); - TopTools_ListIteratorOfListOfShape it(OutSh); - for (;it.More();it.Next()) - { - TopoDS_Shape Sh = it.Value(); - } -} - diff --git a/src/HYDRO_tests/test_HYDROData_LandCoverMap.h b/src/HYDRO_tests/test_HYDROData_LandCoverMap.h index cdf06fa3..c473c4a1 100644 --- a/src/HYDRO_tests/test_HYDROData_LandCoverMap.h +++ b/src/HYDRO_tests/test_HYDROData_LandCoverMap.h @@ -52,7 +52,6 @@ class test_HYDROData_LandCoverMap : public CppUnit::TestFixture CPPUNIT_TEST( test_shp_loop_back ); CPPUNIT_TEST( test_shp_clc_classification_perf ); CPPUNIT_TEST( test_shp_clc_classification_check ); - CPPUNIT_TEST( test_add_int_edges_1 ); #endif CPPUNIT_TEST_SUITE_END(); @@ -82,7 +81,6 @@ public: void test_copy(); void test_shp_clc_classification_perf(); void test_shp_clc_classification_check(); - void test_add_int_edges_1(); }; CPPUNIT_TEST_SUITE_REGISTRATION( test_HYDROData_LandCoverMap );