From 813d1f383dd56fe4451e7c7eb60e7384975007c6 Mon Sep 17 00:00:00 2001 From: isn Date: Thu, 12 Nov 2015 17:41:25 +0300 Subject: [PATCH] Remove internal edges --- src/HYDROData/HYDROData_LandCoverMap.cxx | 35 ++++++++++++++++++ src/HYDROData/HYDROData_LandCoverMap.h | 2 + .../reference_data/LCM_split_2a.png | Bin 8418 -> 8417 bytes .../reference_data/LCM_split_2b.png | Bin 9010 -> 9016 bytes .../test_HYDROData_LandCoverMap.cxx | 13 +++++-- 5 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/HYDROData/HYDROData_LandCoverMap.cxx b/src/HYDROData/HYDROData_LandCoverMap.cxx index bc0f1551..f3d2873a 100644 --- a/src/HYDROData/HYDROData_LandCoverMap.cxx +++ b/src/HYDROData/HYDROData_LandCoverMap.cxx @@ -39,10 +39,16 @@ #include #include #include +#include #include #include #include #include +#include +#include +#include +#include + #include #include @@ -794,6 +800,8 @@ void HYDROData_LandCoverMap::StoreLandCovers( const HYDROData_MapOfFaceToStrickl else if( aListOfFaces.Extent() > 1 ) aResult = MergeFaces( aListOfFaces, false ); + //remove internal edges + aResult = RemoveInternal(aResult); SetShape( aResult ); } @@ -841,3 +849,30 @@ QStringList HYDROData_LandCoverMap::DumpToPython( MapOfTreatedObjects& theTreate return aResList; } + +TopoDS_Shape HYDROData_LandCoverMap::RemoveInternal(const TopoDS_Shape& InSh) +{ + //Shape must be topologically correct + TopExp_Explorer anExp(InSh, TopAbs_EDGE); + TopTools_ListOfShape anEdgesToRemove; + + for(; anExp.More(); anExp.Next() ) + { + TopoDS_Edge CurEdge = TopoDS::Edge(anExp.Current()); + if (CurEdge.Orientation() == TopAbs_INTERNAL) + anEdgesToRemove.Append(CurEdge); + } + + Handle_ShapeBuild_ReShape aReshape = new ShapeBuild_ReShape(); + TopoDS_Shape OutSh = aReshape->Apply(InSh); + TopTools_ListIteratorOfListOfShape aIt(anEdgesToRemove); + for (; aIt.More(); aIt.Next()) + aReshape->Remove(aIt.Value()); + OutSh = aReshape->Apply(InSh); + + Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape; + sfs->Init(OutSh); + sfs->Perform(); + return sfs->Shape(); + +} diff --git a/src/HYDROData/HYDROData_LandCoverMap.h b/src/HYDROData/HYDROData_LandCoverMap.h index 9ab0276c..24eeae19 100644 --- a/src/HYDROData/HYDROData_LandCoverMap.h +++ b/src/HYDROData/HYDROData_LandCoverMap.h @@ -120,6 +120,8 @@ public: HYDRODATA_EXPORT void StoreLandCovers( const HYDROData_MapOfFaceToStricklerType& ); + HYDRODATA_EXPORT TopoDS_Shape RemoveInternal(const TopoDS_Shape& InSh); + protected: void SetShape( const TopoDS_Shape& ); diff --git a/src/HYDRO_tests/reference_data/LCM_split_2a.png b/src/HYDRO_tests/reference_data/LCM_split_2a.png index 51cf6e0e3fe183d2e88f66bfc38450b7ac3a0611..59aa5163219e449d87fe8e903bae2e92d5170298 100644 GIT binary patch delta 6914 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 delta 6915 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 IWQy4T16`UdF#rGn literal 9010 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 KIND_POLYLINEXY ) ); Polyline_9->AddSection( "Section_1", HYDROData_PolylineXY::SECTION_POLYLINE, false ); Polyline_9->AddPoint( 0, gp_XY( -103.92, 288.40 ) ); + Polyline_9->AddPoint( 0, gp_XY( -100.09, 285.22 ) ); + Polyline_9->AddPoint( 0, gp_XY( -96.10, 281.90 ) ); + Polyline_9->AddPoint( 0, gp_XY( -90.43, 277.19 ) ); Polyline_9->AddPoint( 0, gp_XY( -53.41, 246.43 ) ); Polyline_9->AddPoint( 0, gp_XY( 10.62, 245.01 ) ); + + Polyline_9->Update(); @@ -926,14 +931,14 @@ void test_HYDROData_LandCoverMap::test_split_2() CPPUNIT_ASSERT_EQUAL( true, LCM->Split( Polyline_9 ) ); - Handle(HYDROGUI_LandCoverMapPrs) aPrs1 = new HYDROGUI_LandCoverMapPrs( LCM ); - TestViewer::show( aPrs1, AIS_Shaded, 0, true, "LCM_split_2a" ); + //Handle(HYDROGUI_LandCoverMapPrs) aPrs1 = new HYDROGUI_LandCoverMapPrs( LCM ); + TestViewer::show( LCM->GetShape(), AIS_Shaded, /*0,*/ true, "LCM_split_2a" ); CPPUNIT_ASSERT_IMAGES CPPUNIT_ASSERT_EQUAL( true, LCM->Split( Polyline_8 ) ); - Handle(HYDROGUI_LandCoverMapPrs) aPrs2 = new HYDROGUI_LandCoverMapPrs( LCM ); - TestViewer::show( aPrs2, AIS_Shaded, 0, true, "LCM_split_2b" ); + // Handle(HYDROGUI_LandCoverMapPrs) aPrs2 = new HYDROGUI_LandCoverMapPrs( LCM ); + TestViewer::show( LCM->GetShape(), AIS_Shaded, /*0,*/ true, "LCM_split_2b" ); CPPUNIT_ASSERT_IMAGES aDoc->Close(); -- 2.39.2