0022746: Progress indicator in ShapeHealing

This commit is contained in:
KGV and DBV
2011-11-18 14:51:14 +00:00
committed by bugmaster
parent ffe74e4685
commit b485ee79ca
23 changed files with 515 additions and 324 deletions

View File

@@ -4,15 +4,14 @@
-- <det@nnov.matra-dtv.fr>
---Copyright: Matra Datavision 1998
package ShapeFix
---Purpose: 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
---Purpose: 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.
uses
@@ -47,31 +46,31 @@ is
---Purpose: Fixing different problems on edge
class Wire;
---Purpose: Fixing different problems with wires
---Purpose: Fixing different problems with wires
class Face;
---Purpose: Fixing problems with face (orientation of wires and wrong wires)
class FixSmallFace;
---Purpose: Fixing face with small size
---Purpose: Fixing face with small size
class WireVertex;
---Purpose: Fixing disconnected edges in the wire
class Wireframe;
---Purpose: Provides methods to fix wireframe of shape
---Purpose: Provides methods to fix wireframe of shape
class FreeBounds;
---Purpose: Fixing free bounds of the shape (connecting open wires)
---Purpose: Fixing free bounds of the shape (connecting open wires)
class FaceConnect;
---Purpose: Rebuilds connectivity between faces in shell
---Purpose: Rebuilds connectivity between faces in shell
class Shell;
---Purpose: Fixing orientation of faces in shell
class Solid;
---Purpose: Creating solid from shell and orienting it to have finite volume
---Purpose: Creating solid from shell and orienting it to have finite volume
class ShapeTolerance;
---Purpose: Modifying shape tolerances
@@ -87,21 +86,18 @@ is
class SplitCommonVertex;
---Purpose: Splits vertex which is common for two wires
-- (for writing into STEP)
-- (for writing into STEP)
class WireSegment;
---Purpose: Auxiliary class (data storage) for ComposeShell
class IntersectionTool;
---Purpose: Tool for fixing selfintersecting wire
-- and intersecting wires
--class OverlappingTool; now it is in package OverlapShape of Products
---Purpose: Tool for fixing overlapping
-- and intersecting wires
class SplitTool;
---Purpose: Tool for splitting and cutting edges; incudes methods
-- used in OverlappingTool and IntersectionTool
-- used in OverlappingTool and IntersectionTool
class SequenceOfWireSegment instantiates Sequence from TCollection
(WireSegment from ShapeFix);
@@ -110,9 +106,10 @@ is
(Shape from TopoDS, Box2d from Bnd, ShapeMapHasher from TopTools);
SameParameter (shape : Shape from TopoDS;
enforce: Boolean;
preci : Real = 0.0)
SameParameter (shape : Shape from TopoDS;
enforce : Boolean;
preci : Real = 0.0;
theProgress : ProgressIndicator from Message = 0)
returns Boolean;
---Purpose : Runs SameParameter from BRepLib with these adaptations :
-- <enforce> forces computations, else they are made only on
@@ -121,25 +118,27 @@ is
-- 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
-- been processed. The passed progress indicator allows user
-- to consult the current progress stage and abort algorithm
-- if needed.
EncodeRegularity (shape: Shape from TopoDS; tolang: Real = 1.0e-10);
---Purpose : Runs EncodeRegularity from BRepLib taking into account
-- shared components of assemblies, so that each component
-- is processed only once
-- shared components of assemblies, so that each component
-- is processed only once
RemoveSmallEdges (shape: in out Shape from TopoDS; Tolerance: Real; context: in out ReShape from ShapeBuild)
returns Shape from TopoDS;
---Purpose: Removes edges which are less than given tolerance from shape
-- with help of ShapeFix_Wire::FixSmall()
---Purpose: Removes edges which are less than given tolerance from shape
-- with help of ShapeFix_Wire::FixSmall()
FixVertexPosition(theshape: in out Shape from TopoDS;
theTolerance: Real;
thecontext: ReShape from ShapeBuild) returns Boolean;
---Purpose: Fix position of the vertices having tolerance more tnan specified one.;
---Purpose: Fix position of the vertices having tolerance more tnan specified one.;
LeastEdgeSize(theshape: in out Shape from TopoDS) returns Real;
---Purpose: Calculate size of least edge;
---Purpose: Calculate size of least edge;
end ShapeFix;