1 -- File: Partition_Loop3d.cdl
2 -- Created: Mon Oct 21 09:47:19 2002
3 ---Copyright: OPEN CASCADE 2002
5 class Loop3d from Partition
7 ---Purpose: Builds the shells from a set of faces.
8 -- Provides methods for comparing faces mutual
13 MapOfOrientedShape from TopTools,
14 IndexedDataMapOfShapeListOfShape from TopTools,
17 ListOfShape from TopTools,
24 AddConstFaces (me : in out; S : Shape from TopoDS)
25 ---Purpose: Add faces of <S> as unique faces in the result.
28 AddSectionFaces (me : in out; S : Shape from TopoDS)
29 ---Purpose: Add faces of <S> as double faces in the result.
32 MakeShells (me : in out; AvoidFacesMap : MapOfOrientedShape from TopTools)
33 returns ListOfShape from TopTools is static;
34 ---Purpose: Make and return shells.
35 -- <AvoidFacesMap> can contain faces that must not be
36 -- added to result shells.
37 ---C++: return const &
40 ---Category: class methods
42 IsInside (myclass; E : Edge from TopoDS;
43 F1, F2 : Face from TopoDS;
44 CountDot : Boolean from Standard;
45 Dot : in out Real from Standard;
46 GoodOri : in out Boolean from Standard)
47 returns Boolean from Standard;
48 ---Purpose: check if <F2> is inside <F1> by edge <E>.
49 -- if <CountDot>, compute <Dot>: scalar production of
50 -- normalized vectors pointing inside faces, and
51 -- check if faces are oriented well for sewing
53 Normal (myclass; E : Edge from TopoDS;
54 F : Face from TopoDS) returns Vec from gp;
59 myNewShells : ListOfShape from TopTools; -- result
61 myFaces : ListOfShape from TopTools;
62 myEFMap : IndexedDataMapOfShapeListOfShape from TopTools;