1 -- Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 -- Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 -- This library is free software; you can redistribute it and/or
7 -- modify it under the terms of the GNU Lesser General Public
8 -- License as published by the Free Software Foundation; either
9 -- version 2.1 of the License.
11 -- This library is distributed in the hope that it will be useful,
12 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 -- Lesser General Public License for more details.
16 -- You should have received a copy of the GNU Lesser General Public
17 -- License along with this library; if not, write to the Free Software
18 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 -- GEOM PARTITION : partition algorithm
24 -- File : Partition_Loop3d.cdl
27 class Loop3d from Partition
29 ---Purpose: Builds the shells from a set of faces.
30 -- Provides methods for comparing faces mutual
35 MapOfOrientedShape from TopTools,
36 IndexedDataMapOfShapeListOfShape from TopTools,
39 ListOfShape from TopTools,
46 AddConstFaces (me : in out; S : Shape from TopoDS)
47 ---Purpose: Add faces of <S> as unique faces in the result.
50 AddSectionFaces (me : in out; S : Shape from TopoDS)
51 ---Purpose: Add faces of <S> as double faces in the result.
54 MakeShells (me : in out; AvoidFacesMap : MapOfOrientedShape from TopTools)
55 returns ListOfShape from TopTools is static;
56 ---Purpose: Make and return shells.
57 -- <AvoidFacesMap> can contain faces that must not be
58 -- added to result shells.
59 ---C++: return const &
62 ---Category: class methods
64 IsInside (myclass; E : Edge from TopoDS;
65 F1, F2 : Face from TopoDS;
66 CountDot : Boolean from Standard;
67 Dot : in out Real from Standard;
68 GoodOri : in out Boolean from Standard)
69 returns Boolean from Standard;
70 ---Purpose: check if <F2> is inside <F1> by edge <E>.
71 -- if <CountDot>, compute <Dot>: scalar production of
72 -- normalized vectors pointing inside faces, and
73 -- check if faces are oriented well for sewing
75 Normal (myclass; E : Edge from TopoDS;
76 F : Face from TopoDS) returns Vec from gp;
81 myNewShells : ListOfShape from TopTools; -- result
83 myFaces : ListOfShape from TopTools;
84 myEFMap : IndexedDataMapOfShapeListOfShape from TopTools;