0022746: Progress indicator in ShapeHealing
[occt.git] / src / ShapeFix / ShapeFix_Shape.cdl
1 -- File:        ShapeFix_Shape.cdl
2 -- Created:     Wed Aug 12 11:42:02 1998
3 -- Author:      DATA EXCHANGE TEAM
4 --              <det@nnov.matra-dtv.fr>
5 ---Copyright:    Matra Datavision 1998
6
7
8 class Shape from ShapeFix inherits Root from ShapeFix
9
10         ---Purpose: Fixing shape in general
11
12 uses
13
14     Shape               from TopoDS,
15     Solid               from ShapeFix,
16     Shell               from ShapeFix,
17     Face                from ShapeFix,
18     Wire                from ShapeFix,
19     Edge                from ShapeFix,
20     Status              from ShapeExtend,
21     MapOfShape from TopTools,
22     BasicMsgRegistrator from ShapeExtend,
23     ProgressIndicator   from Message
24
25 is
26
27     Create returns Shape from ShapeFix;
28         ---Purpose: Empty Constructor
29
30     Create (shape: Shape from TopoDS)
31     returns Shape from ShapeFix;
32         ---Purpose: Initislises by shape.
33
34     Init (me: mutable; shape: Shape from TopoDS);
35         ---Purpose: Initislises by shape.
36
37     Perform (me          : mutable;
38              theProgress : ProgressIndicator from Message = 0) returns Boolean;
39         ---Purpose: Iterates on sub- shape and performs fixes
40
41     SameParameter (me          : mutable; 
42                    shape       : Shape from TopoDS; 
43                    enforce     : Boolean;
44                    theProgress : ProgressIndicator from Message = 0) is protected;
45       ---Purpose: Fixes same parameterization problem on the passed shape
46       --          by updating tolerances of the corresponding topological
47       --          entitites.
48
49     Shape (me) returns Shape from TopoDS;
50         ---Purpose: Returns resulting shape
51
52     FixSolidTool (me) returns Solid from ShapeFix;
53         ---Purpose: Returns tool for fixing solids.
54         ---C++:inline
55
56     FixShellTool (me) returns Shell from ShapeFix;
57         ---Purpose: Returns tool for fixing shells.
58         ---C++:inline
59
60     FixFaceTool (me) returns Face from ShapeFix;
61         ---Purpose: Returns tool for fixing faces.
62         ---C++:inline
63
64     FixWireTool (me) returns Wire from ShapeFix;
65         ---Purpose: Returns tool for fixing wires.
66         ---C++:inline
67
68     FixEdgeTool (me) returns Edge from ShapeFix;
69         ---Purpose: Returns tool for fixing edges.
70         ---C++:inline
71
72     Status (me; status : Status from  ShapeExtend) returns Boolean;
73         ---Purpose: Returns the status of the last Fix. 
74         --          This can be a combination of the following flags:
75         --          ShapeExtend_DONE1: some free edges were fixed
76         --          ShapeExtend_DONE2: some free wires were fixed
77         --          ShapeExtend_DONE3: some free faces were fixed
78         --          ShapeExtend_DONE4: some free shells were fixed
79         --          ShapeExtend_DONE5: some free solids were fixed
80         --          ShapeExtend_DONE6: shapes in compound(s) were fixed
81
82     SetMsgRegistrator (me: mutable; msgreg: BasicMsgRegistrator from ShapeExtend) is redefined;
83         ---Purpose: Sets message registrator
84
85     SetPrecision (me: mutable; preci: Real) is redefined;
86         ---Purpose: Sets basic precision value (also to FixSolidTool)
87
88     SetMinTolerance (me: mutable; mintol: Real) is redefined;
89         ---Purpose: Sets minimal allowed tolerance (also to FixSolidTool)
90
91     SetMaxTolerance (me: mutable; maxtol: Real) is redefined;
92         ---Purpose: Sets maximal allowed tolerance (also to FixSolidTool)
93
94     FixSolidMode (me: mutable) returns Integer;
95         ---C++: return &
96         ---C++: inline
97         ---Purpose: Returns (modifiable) the mode for applying fixes of 
98         --          ShapeFix_Solid, by default True.
99
100     FixFreeShellMode (me: mutable) returns Integer;
101         ---C++: return &
102         ---C++: inline
103         ---Purpose: Returns (modifiable) the mode for applying fixes of 
104         --          ShapeFix_Shell, by default True.
105
106     FixFreeFaceMode (me: mutable) returns Integer;
107         ---C++: return &
108         ---C++: inline
109         ---Purpose: Returns (modifiable) the mode for applying fixes of 
110         --          ShapeFix_Face, by default True.
111
112     FixFreeWireMode (me: mutable) returns Integer;
113         ---C++: return &
114         ---C++: inline
115         ---Purpose: Returns (modifiable) the mode for applying fixes of 
116         --          ShapeFix_Wire, by default True.
117
118     FixSameParameterMode (me: mutable) returns Integer;
119         ---C++: return &
120         ---C++: inline
121         ---Purpose: Returns (modifiable) the mode for applying 
122         --          ShapeFix::SameParameter after all fixes, by default True.
123         
124     FixVertexPositionMode (me: mutable) returns Integer;
125         ---C++: return &
126         ---C++: inline
127         ---Purpose: Returns (modifiable) the mode for applying 
128         --          ShapeFix::FixVertexPosition before all fixes, by default False.
129 fields  
130
131     myResult    : Shape from TopoDS is protected;
132     myFixSolid  : Solid  from ShapeFix is protected;
133     myMapFixingShape  : MapOfShape from TopTools is protected;
134     
135     myFixSolidMode         : Integer is protected;
136     myFixShellMode         : Integer is protected;
137     myFixFaceMode          : Integer is protected;
138     myFixWireMode          : Integer is protected;
139     myFixSameParameterMode : Integer is protected;
140     myFixVertexPositionMode : Integer is protected;
141     myStatus    : Integer is protected;
142
143 end Shape;