mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-28 02:10:36 +05:00
Working version
This commit is contained in:
parent
0f96e2e535
commit
4ad9a0dd6a
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user