OCC22576 ShapeFix_Edge::SameParameter() now retains original 3D interval
[occt.git] / src / ShapeFix / ShapeFix_Wireframe.cdl
1 -- File:        ShapeFix_Wireframe.cdl
2 -- Created:     Tue Aug 24 11:27:03 1999
3 -- Author:      Sergei ZERTCHANINOV
4 --              <szv@nnov>
5 ---Copyright:    Matra Datavision 1999
6
7
8 class Wireframe from ShapeFix inherits Root from ShapeFix
9
10     ---Purpose : Provides methods for fixing wireframe of shape
11
12 uses 
13
14     Shape from TopoDS,
15     Status from ShapeExtend,
16     Shape from GeomAbs,
17     HArray1OfReal from TColStd,
18     MapOfShape from TopTools,
19     DataMapOfShapeListOfShape from TopTools
20
21 is
22
23     Create returns Wireframe from ShapeFix;
24
25     Create (shape: Shape from TopoDS) returns Wireframe from ShapeFix;
26
27     ClearStatuses (me: mutable) is virtual;
28     ---Purpose: Clears all statuses
29
30     Load (me : mutable; shape: Shape from TopoDS);
31     ---Purpose: Loads a shape, resets statuses
32
33     FixWireGaps (me : mutable) returns Boolean from Standard;
34     ---Purpose : Fixes gaps between ends of curves of adjacent edges
35     --           (both 3d and pcurves) in wires
36     --           If precision is 0.0, uses Precision::Confusion().
37     ---Status  : See StatusWireGaps() for details
38     --           OK - No gaps were found
39     --           DONE1 - Some gaps in 3D were fixed
40     --           DONE2 - Some gaps in 2D were fixed
41     --           FAIL1 - Failed to fix some gaps in 3D
42     --           FAIL2 - Failed to fix some gaps in 2D
43     ---Returns : False if nothing done, else True
44
45     FixSmallEdges (me : mutable) returns Boolean from Standard;
46     ---Purpose : Fixes small edges in shape by merging adjacent edges
47     --           If precision is 0.0, uses Precision::Confusion().
48     ---Status  : See StatusSmallEdges() for details
49     --           OK - No small edges were found
50     --           DONE1 - Some small edges were fixed
51     --           FAIL1 - Failed to fix some small edges
52     ---Returns : False if nothing done, else True
53
54     CheckSmallEdges (me: mutable; theSmallEdges: out MapOfShape from TopTools;
55                                   theEdgeToFaces: out DataMapOfShapeListOfShape from TopTools;
56                                   theFaceWithSmall: out DataMapOfShapeListOfShape from TopTools;
57                                   theMultyEdges: out MapOfShape from TopTools)
58     returns Boolean from Standard;
59         ---Purpose: Auxiliary tool for FixSmallEdges which checks for small edges and fills the maps.
60         --          Returns True if at least one small edge has been found.
61         
62     MergeSmallEdges (me: mutable; theSmallEdges: in out MapOfShape from TopTools;
63                                   theEdgeToFaces: in out DataMapOfShapeListOfShape from TopTools;
64                                   theFaceWithSmall: in out DataMapOfShapeListOfShape from TopTools;
65                                   theMultyEdges: out MapOfShape from TopTools;
66                                   theModeDrop: Boolean = Standard_False;
67                                   theLimitAngle: Real = -1)
68     returns Boolean from Standard;
69         ---Purpose: Auxiliary tool for FixSmallEdges which merges small edges.
70         --          If theModeDrop is equal to Standard_True then small edges,
71         --          which cannot be connected with adjacent edges are dropped.
72         --          Otherwise they are kept.
73         --          theLimitAngle specifies maximum allowed tangency
74         --          discontinuity between adjacent edges.
75         --          If theLimitAngle is equal to -1, this angle is not taken into account.
76         
77     StatusWireGaps (me; status: Status from ShapeExtend) returns Boolean;
78     ---C++: inline
79     ---Purpose : Decodes the status of the last FixWireGaps.
80     --           OK - No gaps were found
81     --           DONE1 - Some gaps in 3D were fixed
82     --           DONE2 - Some gaps in 2D were fixed
83     --           FAIL1 - Failed to fix some gaps in 3D
84     --           FAIL2 - Failed to fix some gaps in 2D
85
86     StatusSmallEdges (me; status: Status from ShapeExtend) returns Boolean;
87     ---C++: inline
88     ---Purpose : Decodes the status of the last FixSmallEdges.
89     --           OK - No small edges were found
90     --           DONE1 - Some small edges were fixed
91     --           FAIL1 - Failed to fix some small edges
92
93     Shape (me : mutable) returns Shape from TopoDS;
94     ---C++: inline
95     
96     ModeDropSmallEdges(me : mutable) returns Boolean;
97     ---C++: return &
98     ---C++: inline
99     ---Purpose: Returns mode managing removing small edges.
100     
101     SetLimitAngle(me:mutable; theLimitAngle : Real);
102     ---C++: inline
103     ---Purpose:Set limit angle for merging edges.
104     
105     LimitAngle(me) returns Real;
106     ---C++: inline
107     ---Purpose:Get limit angle for merging edges.
108     
109     
110     
111 fields
112
113     myShape             : Shape from TopoDS is protected;
114     myModeDrop          : Boolean;
115     myLimitAngle        : Real;
116     myStatusWireGaps    : Integer from Standard;
117     myStatusSmallEdges  : Integer from Standard;
118
119 end Wireframe;