dbb5afc5431f9d8d96938219762e56125b614021
[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 is
21
22     Create returns Shell from ShapeFix;
23         ---Purpose: Empty constructor
24
25     Create (shape: Shell from TopoDS)
26     returns Shell from ShapeFix;
27         ---Purpose: Initializes by shell.
28
29     Init (me: mutable; shell: Shell from TopoDS);
30         ---Purpose: Initializes by shell.
31
32     Perform (me: mutable) returns Boolean;
33         ---Purpose: Iterates on subshapes and performs fixes
34         --          (for each face calls ShapeFix_Face::Perform and
35         --          then calls FixFaceOrientation)
36
37     FixFaceOrientation (me : mutable; shell : Shell from TopoDS;
38                         isAccountMultiConex : Boolean = Standard_True;
39                         NonManifold : Boolean = Standard_False ) returns Boolean;
40         ---Purpose: Fixes orientation of faces in shell.
41         --          Changes orientation of face in the shell, if it is oriented opposite
42         --          to neigbouring faces. If it is not possible to orient all faces in the
43         --          shell (like in case of mebious band), this method orients only subset
44         --          of faces. Other faces are stored in Error compound.
45         --          Modes : 
46         --          isAccountMultiConex - mode for account cases of multiconnexity.
47         --          If this mode is equal to Standard_True, separate shells will be created 
48         --          in the cases of multiconnexity. If this mode is equal to Standard_False,
49         --          one shell will be created without account of multiconnexity.By defautt - Standard_True;
50         --          NonManifold - mode for creation of non-manifold shells.
51         --          If this mode is equal to Standard_True one non-manifold will be created from shell
52         --          contains multishared edges. Else if this mode is equal to Standard_False only 
53         --          manifold shells will be created. By default - Standard_False.
54         --          
55         ---Returns: If resulting shell is ok returns TRUE, else returns FALSE.
56         ---Status : OK   - faces in shall were oriented correcty.
57         --          DONE - faces in shell oriented succesfully
58         --          FAIL - faces orientation process has been failed
59         
60     Shell(me : mutable) returns Shell from TopoDS;
61         ---Purpose: Returns fixed shell (or subset of oriented faces).
62         
63     Shape(me : mutable) returns Shape from TopoDS;
64         ---Purpose: In case of multiconnexity returns compound of fixed shells
65         --          else returns one shell..
66     NbShells(me) returns Integer;
67         ---Purpose: Returns Number of obtainrd shells;
68         
69     ErrorFaces(me) returns Compound from TopoDS;
70         ---Purpose: Returns not oriented subset of faces.
71
72     Status (me; status : Status from  ShapeExtend) returns Boolean;
73         ---Purpose: Returns the status of the last Fix.
74
75     FixFaceTool (me:mutable) returns Face from ShapeFix;
76         ---Purpose: Returns tool for fixing faces.
77         ---C++:inline
78
79     SetMsgRegistrator (me: mutable; msgreg: BasicMsgRegistrator from ShapeExtend) is redefined;
80         ---Purpose: Sets message registrator
81
82     SetPrecision (me: mutable; preci: Real) is redefined;
83         ---Purpose: Sets basic precision value (also to FixWireTool)
84
85     SetMinTolerance (me: mutable; mintol: Real) is redefined;
86         ---Purpose: Sets minimal allowed tolerance (also to FixWireTool)
87
88     SetMaxTolerance (me: mutable; maxtol: Real) is redefined;
89         ---Purpose: Sets maximal allowed tolerance (also to FixWireTool)
90
91     FixFaceMode (me: mutable) returns Integer;
92         ---C++: return &
93         ---C++: inline
94         ---Purpose: Returns (modifiable) the mode for applying fixes of 
95         --          ShapeFix_Face, by default True.
96
97     FixOrientationMode (me: mutable) returns Integer;
98         ---C++: return &
99         ---C++: inline
100         ---Purpose: Returns (modifiable) the mode for applying 
101         --          FixFaceOrientation, by default True.
102     
103 fields
104
105     myShell              : Shell from TopoDS is protected;
106     myErrFaces           : Compound from TopoDS is protected;
107     myStatus             : Integer is protected;
108     myFixFace            : Face from ShapeFix is protected;
109     myFixFaceMode        : Integer is protected;   
110     myFixOrientationMode : Integer is protected; 
111     myNbShells : Integer is protected; 
112 end Shell;