0022746: Progress indicator in ShapeHealing
[occt.git] / src / ShapeFix / ShapeFix.cdl
index a23e096..79da826 100755 (executable)
@@ -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;