mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
The analysis of small area in the method ShapeAnalysis_Wire::CheckSmallArea is performed the following way: - On the fisrt step algorithm produces a rough estimation of part of surface area. - In a case if obtained estimation is less than tolerance then evaluate real area and comapre this value with tolerance. - New flag has been added to XSTEPResource/IGES. In a case if flag is true the faces with small 3d area is removed from ShapeFix context. Test-case for issue #25923 and update test-cases in de group according to the new behavior.
165 lines
4.9 KiB
Plaintext
165 lines
4.9 KiB
Plaintext
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
|
//
|
|
// This file is part of Open CASCADE Technology software library.
|
|
//
|
|
// This library is free software; you can redistribute it and/or modify it under
|
|
// the terms of the GNU Lesser General Public License version 2.1 as published
|
|
// by the Free Software Foundation, with special exception defined in the file
|
|
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
|
// distribution for complete text of the license and disclaimer of any warranty.
|
|
//
|
|
// Alternatively, this file may be used under the terms of Open CASCADE
|
|
// commercial license or contractual agreement.
|
|
|
|
#include <ShapeExtend.hxx>
|
|
|
|
//=======================================================================
|
|
//function : FixWireMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixWireMode()
|
|
{
|
|
return myFixWireMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixOrientationMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixOrientationMode()
|
|
{
|
|
return myFixOrientationMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixAddNaturalBoundMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixAddNaturalBoundMode()
|
|
{
|
|
return myFixAddNaturalBoundMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixMissingSeamMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixMissingSeamMode()
|
|
{
|
|
return myFixMissingSeamMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixSmallAreaWireMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixSmallAreaWireMode()
|
|
{
|
|
return myFixSmallAreaWireMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : RemoveSmallAreaFaceMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::RemoveSmallAreaFaceMode()
|
|
{
|
|
return myRemoveSmallAreaFaceMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixIntersectingWiresMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixIntersectingWiresMode()
|
|
{
|
|
return myFixIntersectingWiresMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixLoopWiresMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixLoopWiresMode()
|
|
{
|
|
return myFixLoopWiresMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixSplitFaceMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixSplitFaceMode()
|
|
{
|
|
return myFixSplitFaceMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : AutoCorrectPrecisionMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::AutoCorrectPrecisionMode()
|
|
{
|
|
return myAutoCorrectPrecisionMode;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixPeriodicDegeneratedMode
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Integer& ShapeFix_Face::FixPeriodicDegeneratedMode()
|
|
{
|
|
return myFixPeriodicDegenerated;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Face
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline TopoDS_Face ShapeFix_Face::Face() const
|
|
{
|
|
return myFace;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Result
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline TopoDS_Shape ShapeFix_Face::Result() const
|
|
{
|
|
return myResult;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Status
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Standard_Boolean ShapeFix_Face::Status (const ShapeExtend_Status status) const
|
|
{
|
|
return ShapeExtend::DecodeStatus ( myStatus, status );
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FixWireTool
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
inline Handle(ShapeFix_Wire) ShapeFix_Face::FixWireTool()
|
|
{
|
|
return myFixWire;
|
|
}
|