Salome HOME
f029d889b657500addae4185c5e74b88cf8d8384
[modules/geom.git] / src / NMTAlgo / NMTAlgo_Loop3d.cdl
1
2 class Loop3d from NMTAlgo
3
4         ---Purpose: Builds the shells from a set of faces.
5         --          Provides  methods   for   comparing  faces  mutual
6         --          location.
7         
8 uses
9     Vec                              from gp,
10     MapOfOrientedShape               from TopTools,
11     IndexedDataMapOfShapeListOfShape from TopTools,
12     Face                             from TopoDS,
13     Edge                             from TopoDS,
14     ListOfShape                      from TopTools,
15     Shape                            from TopoDS
16     
17 is
18
19     Create 
20         returns Loop3d from NMTAlgo ;
21     
22     AddConstFaces  (me:out;  
23             S : Shape from TopoDS)
24         ---Purpose: Add faces of <S> as unique faces in the result.
25     is static;
26
27     AddSectionFaces  (me:out;  
28             S : Shape from TopoDS)
29         ---Purpose: Add faces of <S> as double faces in the result.
30     is static;
31
32     MakeShells (me:out;  
33             AvoidFacesMap : MapOfOrientedShape from TopTools)
34         returns ListOfShape from TopTools is static;
35         ---Purpose: Make and return shells. 
36         --          <AvoidFacesMap> can contain faces that must not be
37         --          added to result shells.
38         ---C++: return const &
39     
40     
41         ---Category: class methods
42     
43     IsInside (myclass; E        : Edge    from TopoDS;
44                        F1, F2   : Face    from TopoDS;
45                        CountDot : Boolean from Standard;
46                        Dot      : in out Real    from Standard;
47                        GoodOri  : in out Boolean from Standard)
48         returns Boolean from Standard;
49         ---Purpose: check if <F2> is inside <F1> by edge <E>.
50         --          if <CountDot>, compute <Dot>: scalar production of
51         --          normalized  vectors  pointing  inside  faces,  and
52         --          check if faces are oriented well for sewing
53     
54     Normal (myclass; E : Edge from TopoDS;
55                      F : Face from TopoDS)  
56         returns Vec from gp;
57     
58     
59 fields
60
61     myNewShells : ListOfShape from TopTools; -- result
62     
63     myFaces     : ListOfShape from TopTools;
64     myEFMap     : IndexedDataMapOfShapeListOfShape from TopTools;
65     
66 end Loop3d;