0025520: To provide info on what has been done by Shape Process and Shape Fix
[occt.git] / src / ShapeFix / ShapeFix.cdl
CommitLineData
b311480e 1-- Created on: 1998-06-03
2-- Created by: data exchange team
3-- Copyright (c) 1998-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 8-- This library is free software; you can redistribute it and/or modify it under
9-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10-- by the Free Software Foundation, with special exception defined in the file
11-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12-- distribution for complete text of the license and disclaimer of any warranty.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
7fd59977 17package ShapeFix
18
b485ee79
KD
19 ---Purpose: This package provides algorithms for fixing
20 -- problematic (violating Open CASCADE requirements) shapes.
21 -- Tools from package ShapeAnalysis are used for detecting the problems. The
22 -- detecting and fixing is done taking in account various
23 -- criteria implemented in BRepCheck package.
24 -- Each class of package ShapeFix deals with one
7fd59977 25 -- certain type of shapes or with some family of problems.
26
27uses
28
29 gp,
30 Geom,
31 Geom2d,
32 Geom2dAPI,
33 GeomAbs,
34 Adaptor3d,
35 TCollection,
36 TColStd,
37 TopAbs,
38 TopLoc,
39 TopoDS,
40 TopTools,
41 Message,
42 ShapeExtend,
43 ShapeAnalysis,
44 ShapeConstruct,
45 ShapeBuild,
46 Bnd
47
48is
49
50 -- classes
51 class Root;
52
53 class EdgeProjAux;
54
55 class Edge;
ff8178ef 56
7fd59977 57 class Wire;
7fd59977 58
59 class Face;
ff8178ef 60
7fd59977 61 class FixSmallFace;
7fd59977 62
8422b578 63 class FixSmallSolid;
64
7fd59977 65 class WireVertex;
7fd59977 66
67 class Wireframe;
ff8178ef 68
7fd59977 69 class FreeBounds;
7fd59977 70
71 class FaceConnect;
ff8178ef 72
7fd59977 73 class Shell;
7fd59977 74
75 class Solid;
ff8178ef 76
7fd59977 77 class ShapeTolerance;
7fd59977 78
79 class Shape;
7fd59977 80
81 class EdgeConnect;
7fd59977 82
83 class ComposeShell;
7fd59977 84
85 class SplitCommonVertex;
7fd59977 86
87 class WireSegment;
ff8178ef 88
7fd59977 89 class IntersectionTool;
ff8178ef 90
7fd59977 91 class SplitTool;
ff8178ef 92
7fd59977 93 class SequenceOfWireSegment instantiates Sequence from TCollection
94 (WireSegment from ShapeFix);
95
96 class DataMapOfShapeBox2d instantiates DataMap from TCollection
97 (Shape from TopoDS, Box2d from Bnd, ShapeMapHasher from TopTools);
98
99
b485ee79
KD
100 SameParameter (shape : Shape from TopoDS;
101 enforce : Boolean;
102 preci : Real = 0.0;
da2db6a7 103 theProgress : ProgressIndicator from Message = 0;
104 theMsgReg : BasicMsgRegistrator from ShapeExtend = 0)
7fd59977 105 returns Boolean;
106 ---Purpose : Runs SameParameter from BRepLib with these adaptations :
107 -- <enforce> forces computations, else they are made only on
108 -- Edges with flag SameParameter false
109 -- <preci>, if not precised, is taken for each EDge as its own
110 -- Tolerance
111 -- Returns True when done, False if an exception has been raised
112 -- In case of exception anyway, as many edges as possible have
b485ee79
KD
113 -- been processed. The passed progress indicator allows user
114 -- to consult the current progress stage and abort algorithm
115 -- if needed.
7fd59977 116
117 EncodeRegularity (shape: Shape from TopoDS; tolang: Real = 1.0e-10);
118 ---Purpose : Runs EncodeRegularity from BRepLib taking into account
b485ee79
KD
119 -- shared components of assemblies, so that each component
120 -- is processed only once
7fd59977 121
122 RemoveSmallEdges (shape: in out Shape from TopoDS; Tolerance: Real; context: in out ReShape from ShapeBuild)
123 returns Shape from TopoDS;
b485ee79
KD
124 ---Purpose: Removes edges which are less than given tolerance from shape
125 -- with help of ShapeFix_Wire::FixSmall()
7fd59977 126
127 FixVertexPosition(theshape: in out Shape from TopoDS;
128 theTolerance: Real;
129 thecontext: ReShape from ShapeBuild) returns Boolean;
b485ee79 130 ---Purpose: Fix position of the vertices having tolerance more tnan specified one.;
7fd59977 131
132 LeastEdgeSize(theshape: in out Shape from TopoDS) returns Real;
b485ee79 133 ---Purpose: Calculate size of least edge;
7fd59977 134
135
136end ShapeFix;