35eda9dda70b91516f2959bd52f88fe3d940fc27
[occt.git] / src / ShapeFix / ShapeFix_Shell.cdl
1 -- File:        ShapeFix_Shell.cdl
2 -- Created:     Wed Aug 12 10:26:46 1998
3 -- Author:      Galina KULIKOVA
4 --              <gka@nnov.matra-dtv.fr>
5 ---Copyright:    Matra Datavision 1998
6
7
8 class Shell from ShapeFix inherits Root from ShapeFix
9
10         ---Purpose: Fixing orientation of faces in shell
11
12 uses
13
14     Compound            from TopoDS,
15     Shell               from TopoDS,
16     Shape               from TopoDS,
17     Status              from ShapeExtend,
18     BasicMsgRegistrator from ShapeExtend,
19     Face                from ShapeFix,
20     ProgressIndicator   from Message
21     
22 is
23
24     Create returns Shell from ShapeFix;
25         ---Purpose: Empty constructor
26
27     Create (shape: Shell from TopoDS)
28     returns Shell from ShapeFix;
29         ---Purpose: Initializes by shell.
30
31     Init (me: mutable; shell: Shell from TopoDS);
32         ---Purpose: Initializes by shell.
33
34     Perform (me: mutable;
35              theProgress : ProgressIndicator from Message = 0) returns Boolean;
36         ---Purpose: Iterates on subshapes and performs fixes
37         --          (for each face calls ShapeFix_Face::Perform and
38         --          then calls FixFaceOrientation). The passed progress
39         --          indicator allows user to consult the current progress
40         --          stage and abort algorithm if needed.
41
42     FixFaceOrientation (me : mutable; shell : Shell from TopoDS;
43                         isAccountMultiConex : Boolean = Standard_True;
44                         NonManifold : Boolean = Standard_False ) returns Boolean;
45       ---Purpose: Fixes orientation of faces in shell.
46       --          Changes orientation of face in the shell, if it is oriented opposite
47       --          to neigbouring faces. If it is not possible to orient all faces in the
48       --          shell (like in case of mebious band), this method orients only subset
49       --          of faces. Other faces are stored in Error compound.
50       --          Modes : 
51       --            isAccountMultiConex - mode for account cases of multiconnexity.
52       --          If this mode is equal to Standard_True, separate shells will be created 
53       --          in the cases of multiconnexity. If this mode is equal to Standard_False,
54       --          one shell will be created without account of multiconnexity.By defautt - Standard_True;
55       --          NonManifold - mode for creation of non-manifold shells.
56       --          If this mode is equal to Standard_True one non-manifold will be created from shell
57       --          contains multishared edges. Else if this mode is equal to Standard_False only 
58       --          manifold shells will be created. By default - Standard_False.
59       --          
60       ---Returns: If resulting shell is ok returns TRUE, else returns FALSE.
61       ---Status : OK   - faces in shall were oriented correcty.
62       --          DONE - faces in shell oriented succesfully
63       --          FAIL - faces orientation process has been failed
64         
65     Shell(me : mutable) returns Shell from TopoDS;
66         ---Purpose: Returns fixed shell (or subset of oriented faces).
67         
68     Shape(me : mutable) returns Shape from TopoDS;
69         ---Purpose: In case of multiconnexity returns compound of fixed shells
70         --          else returns one shell..
71     NbShells(me) returns Integer;
72         ---Purpose: Returns Number of obtainrd shells;
73         
74     ErrorFaces(me) returns Compound from TopoDS;
75         ---Purpose: Returns not oriented subset of faces.
76
77     Status (me; status : Status from  ShapeExtend) returns Boolean;
78         ---Purpose: Returns the status of the last Fix.
79
80     FixFaceTool (me:mutable) returns Face from ShapeFix;
81         ---Purpose: Returns tool for fixing faces.
82       ---C++:inline
83
84     SetMsgRegistrator (me: mutable; msgreg: BasicMsgRegistrator from ShapeExtend) is redefined;
85       ---Purpose: Sets message registrator
86
87     SetPrecision (me: mutable; preci: Real) is redefined;
88         ---Purpose: Sets basic precision value (also to FixWireTool)
89
90     SetMinTolerance (me: mutable; mintol: Real) is redefined;
91         ---Purpose: Sets minimal allowed tolerance (also to FixWireTool)
92
93     SetMaxTolerance (me: mutable; maxtol: Real) is redefined;
94         ---Purpose: Sets maximal allowed tolerance (also to FixWireTool)
95
96     FixFaceMode (me: mutable) returns Integer;
97         ---C++: return &
98       ---C++: inline
99       ---Purpose: Returns (modifiable) the mode for applying fixes of 
100       --          ShapeFix_Face, by default True.
101
102     FixOrientationMode (me: mutable) returns Integer;
103         ---C++: return &
104       ---C++: inline
105       ---Purpose: Returns (modifiable) the mode for applying 
106       --          FixFaceOrientation, by default True.
107     
108 fields
109
110     myShell              : Shell from TopoDS is protected;
111     myErrFaces           : Compound from TopoDS is protected;
112     myStatus             : Integer is protected;
113     myFixFace            : Face from ShapeFix is protected;
114     myFixFaceMode        : Integer is protected;   
115     myFixOrientationMode : Integer is protected; 
116     myNbShells           : Integer is protected; 
117
118 end Shell;