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
8 class Shape from ShapeFix inherits Root from ShapeFix
10 ---Purpose: Fixing shape in general
20 Status from ShapeExtend,
21 MapOfShape from TopTools,
22 BasicMsgRegistrator from ShapeExtend,
23 ProgressIndicator from Message
27 Create returns Shape from ShapeFix;
28 ---Purpose: Empty Constructor
30 Create (shape: Shape from TopoDS)
31 returns Shape from ShapeFix;
32 ---Purpose: Initislises by shape.
34 Init (me: mutable; shape: Shape from TopoDS);
35 ---Purpose: Initislises by shape.
37 Perform (me : mutable;
38 theProgress : ProgressIndicator from Message = 0) returns Boolean;
39 ---Purpose: Iterates on sub- shape and performs fixes
41 SameParameter (me : mutable;
42 shape : Shape from TopoDS;
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
49 Shape (me) returns Shape from TopoDS;
50 ---Purpose: Returns resulting shape
52 FixSolidTool (me) returns Solid from ShapeFix;
53 ---Purpose: Returns tool for fixing solids.
56 FixShellTool (me) returns Shell from ShapeFix;
57 ---Purpose: Returns tool for fixing shells.
60 FixFaceTool (me) returns Face from ShapeFix;
61 ---Purpose: Returns tool for fixing faces.
64 FixWireTool (me) returns Wire from ShapeFix;
65 ---Purpose: Returns tool for fixing wires.
68 FixEdgeTool (me) returns Edge from ShapeFix;
69 ---Purpose: Returns tool for fixing edges.
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
82 SetMsgRegistrator (me: mutable; msgreg: BasicMsgRegistrator from ShapeExtend) is redefined;
83 ---Purpose: Sets message registrator
85 SetPrecision (me: mutable; preci: Real) is redefined;
86 ---Purpose: Sets basic precision value (also to FixSolidTool)
88 SetMinTolerance (me: mutable; mintol: Real) is redefined;
89 ---Purpose: Sets minimal allowed tolerance (also to FixSolidTool)
91 SetMaxTolerance (me: mutable; maxtol: Real) is redefined;
92 ---Purpose: Sets maximal allowed tolerance (also to FixSolidTool)
94 FixSolidMode (me: mutable) returns Integer;
97 ---Purpose: Returns (modifiable) the mode for applying fixes of
98 -- ShapeFix_Solid, by default True.
100 FixFreeShellMode (me: mutable) returns Integer;
103 ---Purpose: Returns (modifiable) the mode for applying fixes of
104 -- ShapeFix_Shell, by default True.
106 FixFreeFaceMode (me: mutable) returns Integer;
109 ---Purpose: Returns (modifiable) the mode for applying fixes of
110 -- ShapeFix_Face, by default True.
112 FixFreeWireMode (me: mutable) returns Integer;
115 ---Purpose: Returns (modifiable) the mode for applying fixes of
116 -- ShapeFix_Wire, by default True.
118 FixSameParameterMode (me: mutable) returns Integer;
121 ---Purpose: Returns (modifiable) the mode for applying
122 -- ShapeFix::SameParameter after all fixes, by default True.
124 FixVertexPositionMode (me: mutable) returns Integer;
127 ---Purpose: Returns (modifiable) the mode for applying
128 -- ShapeFix::FixVertexPosition before all fixes, by default False.
131 myResult : Shape from TopoDS is protected;
132 myFixSolid : Solid from ShapeFix is protected;
133 myMapFixingShape : MapOfShape from TopTools is protected;
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;