Working version

This commit is contained in:
jfa 2017-12-19 15:44:49 +03:00
parent 0f96e2e535
commit 4ad9a0dd6a
2 changed files with 2 additions and 31 deletions

View File

@ -29,9 +29,6 @@
#include <BlockFix.hxx> #include <BlockFix.hxx>
#include <BlockFix_UnionFaces.hxx> #include <BlockFix_UnionFaces.hxx>
#include <BlockFix_UnionEdges.hxx> #include <BlockFix_UnionEdges.hxx>
#include <ShapeUpgrade_UnifySameDomain.hxx>
#include <Basics_OCCTVersion.hxx>
#include <ShapeUpgrade_RemoveLocations.hxx> #include <ShapeUpgrade_RemoveLocations.hxx>
@ -69,30 +66,6 @@ void BlockFix_BlockFixAPI::Perform()
// with singularities on boundaries by filling // with singularities on boundaries by filling
myShape = BlockFix::RefillProblemFaces(myShape); myShape = BlockFix::RefillProblemFaces(myShape);
//Unification
// default values
Standard_Boolean anUFaces = Standard_True;
if (myOptimumNbFaces == -1)
anUFaces = Standard_False;
Standard_Boolean anUEdges = Standard_True;
Standard_Boolean anConBS = Standard_False;
Standard_Boolean isAllowInternal = Standard_False;
Standard_Boolean isSafeInputMode = Standard_True;
Standard_Real aLinTol = Precision::Confusion();
Standard_Real aAngTol = Precision::Angular();
TopTools_MapOfShape aMapOfShapes;
ShapeUpgrade_UnifySameDomain Unifier;
Unifier.Initialize(myShape, anUEdges, anUFaces, anConBS);
Unifier.KeepShapes(aMapOfShapes);
Unifier.SetSafeInputMode(isSafeInputMode);
Unifier.AllowInternalEdges(isAllowInternal);
Unifier.SetLinearTolerance(aLinTol);
Unifier.SetAngularTolerance(aAngTol);
Unifier.Build();
TopoDS_Shape aRes = Unifier.Shape();
/*
// faces unification // faces unification
BlockFix_UnionFaces aFaceUnifier; BlockFix_UnionFaces aFaceUnifier;
aFaceUnifier.GetTolerance() = myTolerance; aFaceUnifier.GetTolerance() = myTolerance;
@ -110,7 +83,5 @@ void BlockFix_BlockFixAPI::Perform()
myShape = anEdgeUnifier.Perform(aResult,myTolerance); myShape = anEdgeUnifier.Perform(aResult,myTolerance);
TopoDS_Shape aRes = BlockFix::FixRanges(myShape,myTolerance); TopoDS_Shape aRes = BlockFix::FixRanges(myShape,myTolerance);
*/
myShape = aRes; myShape = aRes;
} }

View File

@ -642,9 +642,9 @@ TopoDS_Shape BlockFix_UnionFaces::Perform(const TopoDS_Shape& Shape)
sff.SetMaxTolerance(Max(1.,myTolerance*1000.)); sff.SetMaxTolerance(Max(1.,myTolerance*1000.));
//Setting modes //Setting modes
sff.FixOrientationMode() = 0; sff.FixOrientationMode() = 0;
#if OCC_VERSION_LARGE > 0x07020001 //#if OCC_VERSION_LARGE > 0x07020001
sff.FixWireTool()->CheckMissingEdgesMode() = Standard_False; sff.FixWireTool()->CheckMissingEdgesMode() = Standard_False;
#endif //#endif
//sff.FixWireMode() = 0; //sff.FixWireMode() = 0;
sff.SetContext(aContext); sff.SetContext(aContext);
// Applying the fixes // Applying the fixes