Open CASCADE Technology  6.9.0
Static Public Member Functions

ShapeFix Class Reference

This package provides algorithms for fixing problematic (violating Open CASCADE requirements) shapes. Tools from package ShapeAnalysis are used for detecting the problems. The detecting and fixing is done taking in account various criteria implemented in BRepCheck package. Each class of package ShapeFix deals with one certain type of shapes or with some family of problems. More...

#include <ShapeFix.hxx>

Static Public Member Functions

static Standard_Boolean SameParameter (const TopoDS_Shape &shape, const Standard_Boolean enforce, const Standard_Real preci=0.0, const Handle< Message_ProgressIndicator > &theProgress=0, const Handle< ShapeExtend_BasicMsgRegistrator > &theMsgReg=0)
 Runs SameParameter from BRepLib with these adaptations : <enforce> forces computations, else they are made only on Edges with flag SameParameter false <preci>, if not precised, is taken for each EDge as its own Tolerance Returns True when done, False if an exception has been raised In case of exception anyway, as many edges as possible have been processed. The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed. More...
 
static void EncodeRegularity (const TopoDS_Shape &shape, const Standard_Real tolang=1.0e-10)
 Runs EncodeRegularity from BRepLib taking into account shared components of assemblies, so that each component is processed only once. More...
 
static TopoDS_Shape RemoveSmallEdges (TopoDS_Shape &shape, const Standard_Real Tolerance, Handle< ShapeBuild_ReShape > &context)
 Removes edges which are less than given tolerance from shape with help of ShapeFix_Wire::FixSmall() More...
 
static Standard_Boolean FixVertexPosition (TopoDS_Shape &theshape, const Standard_Real theTolerance, const Handle< ShapeBuild_ReShape > &thecontext)
 Fix position of the vertices having tolerance more tnan specified one.;. More...
 
static Standard_Real LeastEdgeSize (TopoDS_Shape &theshape)
 Calculate size of least edge;. More...
 

Detailed Description

This package provides algorithms for fixing problematic (violating Open CASCADE requirements) shapes. Tools from package ShapeAnalysis are used for detecting the problems. The detecting and fixing is done taking in account various criteria implemented in BRepCheck package. Each class of package ShapeFix deals with one certain type of shapes or with some family of problems.

Member Function Documentation

static void ShapeFix::EncodeRegularity ( const TopoDS_Shape shape,
const Standard_Real  tolang = 1.0e-10 
)
static

Runs EncodeRegularity from BRepLib taking into account shared components of assemblies, so that each component is processed only once.

static Standard_Boolean ShapeFix::FixVertexPosition ( TopoDS_Shape theshape,
const Standard_Real  theTolerance,
const Handle< ShapeBuild_ReShape > &  thecontext 
)
static

Fix position of the vertices having tolerance more tnan specified one.;.

static Standard_Real ShapeFix::LeastEdgeSize ( TopoDS_Shape theshape)
static

Calculate size of least edge;.

static TopoDS_Shape ShapeFix::RemoveSmallEdges ( TopoDS_Shape shape,
const Standard_Real  Tolerance,
Handle< ShapeBuild_ReShape > &  context 
)
static

Removes edges which are less than given tolerance from shape with help of ShapeFix_Wire::FixSmall()

static Standard_Boolean ShapeFix::SameParameter ( const TopoDS_Shape shape,
const Standard_Boolean  enforce,
const Standard_Real  preci = 0.0,
const Handle< Message_ProgressIndicator > &  theProgress = 0,
const Handle< ShapeExtend_BasicMsgRegistrator > &  theMsgReg = 0 
)
static

Runs SameParameter from BRepLib with these adaptations : <enforce> forces computations, else they are made only on Edges with flag SameParameter false <preci>, if not precised, is taken for each EDge as its own Tolerance Returns True when done, False if an exception has been raised In case of exception anyway, as many edges as possible have been processed. The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.


The documentation for this class was generated from the following file: