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