0022746: Progress indicator in ShapeHealing
[occt.git] / src / ShapeFix / ShapeFix.cdl
CommitLineData
7fd59977 1-- File: ShapeFix.cdl
2-- Created: Wed Jun 3 12:07:35 1998
3-- Author: data exchange team
4-- <det@nnov.matra-dtv.fr>
5---Copyright: Matra Datavision 1998
6
7fd59977 7package ShapeFix
8
b485ee79
KD
9 ---Purpose: This package provides algorithms for fixing
10 -- problematic (violating Open CASCADE requirements) shapes.
11 -- Tools from package ShapeAnalysis are used for detecting the problems. The
12 -- detecting and fixing is done taking in account various
13 -- criteria implemented in BRepCheck package.
14 -- Each class of package ShapeFix deals with one
7fd59977 15 -- certain type of shapes or with some family of problems.
16
17uses
18
19 gp,
20 Geom,
21 Geom2d,
22 Geom2dAPI,
23 GeomAbs,
24 Adaptor3d,
25 TCollection,
26 TColStd,
27 TopAbs,
28 TopLoc,
29 TopoDS,
30 TopTools,
31 Message,
32 ShapeExtend,
33 ShapeAnalysis,
34 ShapeConstruct,
35 ShapeBuild,
36 Bnd
37
38is
39
40 -- classes
41 class Root;
42
43 class EdgeProjAux;
44
45 class Edge;
46 ---Purpose: Fixing different problems on edge
47
48 class Wire;
b485ee79 49 ---Purpose: Fixing different problems with wires
7fd59977 50
51 class Face;
52 ---Purpose: Fixing problems with face (orientation of wires and wrong wires)
53
54 class FixSmallFace;
b485ee79 55 ---Purpose: Fixing face with small size
7fd59977 56
57 class WireVertex;
58 ---Purpose: Fixing disconnected edges in the wire
59
60 class Wireframe;
b485ee79 61 ---Purpose: Provides methods to fix wireframe of shape
7fd59977 62
63 class FreeBounds;
b485ee79 64 ---Purpose: Fixing free bounds of the shape (connecting open wires)
7fd59977 65
66 class FaceConnect;
b485ee79 67 ---Purpose: Rebuilds connectivity between faces in shell
7fd59977 68
69 class Shell;
70 ---Purpose: Fixing orientation of faces in shell
71
72 class Solid;
b485ee79 73 ---Purpose: Creating solid from shell and orienting it to have finite volume
7fd59977 74
75 class ShapeTolerance;
76 ---Purpose: Modifying shape tolerances
77
78 class Shape;
79 ---Purpose: Fixing problem of shape.
80
81 class EdgeConnect;
82 ---Purpose: Rebuilds edges to connect with new vertices, was moved from ShapeBuild
83
84 class ComposeShell;
85 ---Purpose: Splits a (pseudo)face onto grid of faces (shell)
86
87 class SplitCommonVertex;
88 ---Purpose: Splits vertex which is common for two wires
b485ee79 89 -- (for writing into STEP)
7fd59977 90
91 class WireSegment;
92 ---Purpose: Auxiliary class (data storage) for ComposeShell
93
94 class IntersectionTool;
95 ---Purpose: Tool for fixing selfintersecting wire
b485ee79 96 -- and intersecting wires
7fd59977 97
98 class SplitTool;
99 ---Purpose: Tool for splitting and cutting edges; incudes methods
b485ee79 100 -- used in OverlappingTool and IntersectionTool
7fd59977 101
102 class SequenceOfWireSegment instantiates Sequence from TCollection
103 (WireSegment from ShapeFix);
104
105 class DataMapOfShapeBox2d instantiates DataMap from TCollection
106 (Shape from TopoDS, Box2d from Bnd, ShapeMapHasher from TopTools);
107
108
b485ee79
KD
109 SameParameter (shape : Shape from TopoDS;
110 enforce : Boolean;
111 preci : Real = 0.0;
112 theProgress : ProgressIndicator from Message = 0)
7fd59977 113 returns Boolean;
114 ---Purpose : Runs SameParameter from BRepLib with these adaptations :
115 -- <enforce> forces computations, else they are made only on
116 -- Edges with flag SameParameter false
117 -- <preci>, if not precised, is taken for each EDge as its own
118 -- Tolerance
119 -- Returns True when done, False if an exception has been raised
120 -- In case of exception anyway, as many edges as possible have
b485ee79
KD
121 -- been processed. The passed progress indicator allows user
122 -- to consult the current progress stage and abort algorithm
123 -- if needed.
7fd59977 124
125 EncodeRegularity (shape: Shape from TopoDS; tolang: Real = 1.0e-10);
126 ---Purpose : Runs EncodeRegularity from BRepLib taking into account
b485ee79
KD
127 -- shared components of assemblies, so that each component
128 -- is processed only once
7fd59977 129
130 RemoveSmallEdges (shape: in out Shape from TopoDS; Tolerance: Real; context: in out ReShape from ShapeBuild)
131 returns Shape from TopoDS;
b485ee79
KD
132 ---Purpose: Removes edges which are less than given tolerance from shape
133 -- with help of ShapeFix_Wire::FixSmall()
7fd59977 134
135 FixVertexPosition(theshape: in out Shape from TopoDS;
136 theTolerance: Real;
137 thecontext: ReShape from ShapeBuild) returns Boolean;
b485ee79 138 ---Purpose: Fix position of the vertices having tolerance more tnan specified one.;
7fd59977 139
140 LeastEdgeSize(theshape: in out Shape from TopoDS) returns Real;
b485ee79 141 ---Purpose: Calculate size of least edge;
7fd59977 142
143
144end ShapeFix;