1 -- GEOM PARTITION : partition algorithm
3 -- Copyright (C) 2003 CEA/DEN, EDF R&D
7 -- File : Partition_Loop3d.cdl
10 class Loop3d from Partition
12 ---Purpose: Builds the shells from a set of faces.
13 -- Provides methods for comparing faces mutual
18 MapOfOrientedShape from TopTools,
19 IndexedDataMapOfShapeListOfShape from TopTools,
22 ListOfShape from TopTools,
29 AddConstFaces (me : in out; S : Shape from TopoDS)
30 ---Purpose: Add faces of <S> as unique faces in the result.
33 AddSectionFaces (me : in out; S : Shape from TopoDS)
34 ---Purpose: Add faces of <S> as double faces in the result.
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 &
45 ---Category: class methods
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
58 Normal (myclass; E : Edge from TopoDS;
59 F : Face from TopoDS) returns Vec from gp;
64 myNewShells : ListOfShape from TopTools; -- result
66 myFaces : ListOfShape from TopTools;
67 myEFMap : IndexedDataMapOfShapeListOfShape from TopTools;