Commit | Line | Data |
---|---|---|
b311480e | 1 | // Created on: 1997-04-22 |
2 | // Created by: Prestataire Mary FABIEN | |
3 | // Copyright (c) 1997-1999 Matra Datavision | |
973c2be1 | 4 | // Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e | 5 | // |
973c2be1 | 6 | // This file is part of Open CASCADE Technology software library. |
b311480e | 7 | // |
d5f74e42 | 8 | // This library is free software; you can redistribute it and/or modify it under |
9 | // the terms of the GNU Lesser General Public License version 2.1 as published | |
973c2be1 | 10 | // by the Free Software Foundation, with special exception defined in the file |
11 | // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT | |
12 | // distribution for complete text of the license and disclaimer of any warranty. | |
b311480e | 13 | // |
973c2be1 | 14 | // Alternatively, this file may be used under the terms of Open CASCADE |
15 | // commercial license or contractual agreement. | |
7fd59977 | 16 | |
42cf5bc1 | 17 | |
7fd59977 | 18 | #include <TopoDS_Shape.hxx> |
42cf5bc1 | 19 | #include <TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State.hxx> |
20 | #include <TopOpeBRepDS_DataStructure.hxx> | |
21 | #include <TopOpeBRepDS_define.hxx> | |
22 | #include <TopOpeBRepDS_Filter.hxx> | |
23 | #include <TopOpeBRepDS_HDataStructure.hxx> | |
7fd59977 | 24 | #include <TopOpeBRepDS_Interference.hxx> |
7fd59977 | 25 | #include <TopOpeBRepDS_ListIteratorOfListOfInterference.hxx> |
42cf5bc1 | 26 | #include <TopOpeBRepDS_ListOfInterference.hxx> |
7fd59977 | 27 | #include <TopOpeBRepDS_ListOfShapeOn1State.hxx> |
42cf5bc1 | 28 | #include <TopOpeBRepDS_ProcessInterferencesTool.hxx> |
7fd59977 | 29 | |
7fd59977 | 30 | Standard_EXPORT Standard_Integer FUN_unkeepFdoubleGBoundinterferences(TopOpeBRepDS_ListOfInterference& LI,const TopOpeBRepDS_DataStructure& BDS,const Standard_Integer SIX); |
31 | Standard_EXPORT void FUN_resolveFUNKNOWN | |
32 | (TopOpeBRepDS_ListOfInterference& LI,TopOpeBRepDS_DataStructure& BDS, | |
33 | const Standard_Integer SIX, | |
34 | const TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State& MEsp, | |
35 | TopOpeBRepTool_PShapeClassifier pClassif); | |
36 | ||
7fd59977 | 37 | //======================================================================= |
38 | //function : ProcessFaceInterferences | |
39 | //purpose : | |
40 | //======================================================================= | |
41 | void TopOpeBRepDS_Filter::ProcessFaceInterferences | |
42 | (const Standard_Integer SIX,const TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State& MEsp) | |
43 | { | |
44 | TopOpeBRepDS_DataStructure& BDS = myHDS->ChangeDS(); | |
536a3cb8 | 45 | |
46 | // BDS.Shape(SIX); | |
7fd59977 | 47 | TopOpeBRepDS_ListOfInterference& LI = BDS.ChangeShapeInterferences(SIX); |
48 | ::FUN_reducedoublons(LI,BDS,SIX); | |
49 | ||
7fd59977 | 50 | TopOpeBRepDS_ListOfInterference lw, lE, lFE, lFEF, lF, lUU, lall; lall.Assign(LI); |
51 | ||
536a3cb8 | 52 | ::FUN_selectTRAUNKinterference(lall,lUU); |
7fd59977 | 53 | FUN_resolveFUNKNOWN(lUU,BDS,SIX,MEsp,myPShapeClassif); |
54 | lw.Append(lall); | |
55 | lw.Append(lUU); | |
56 | ||
96a95605 DB |
57 | ::FUN_selectTRASHAinterference(lw,TopAbs_FACE,lF); |
58 | ::FUN_selectGKinterference(lF,TopOpeBRepDS_EDGE,lFE); | |
59 | ::FUN_selectSKinterference(lFE,TopOpeBRepDS_FACE,lFEF); | |
60 | ::FUN_selectTRASHAinterference(lw,TopAbs_EDGE,lE); | |
7fd59977 | 61 | |
62 | LI.Clear(); | |
63 | LI.Append(lF); | |
64 | LI.Append(lFE); | |
65 | LI.Append(lFEF); | |
66 | LI.Append(lE); | |
67 | ||
68 | } // ProcessFaceInterferences |