1 // Copyright (c) 1997-1999 Matra Datavision 2 // Copyright (c) 1999-2014 OPEN CASCADE SAS 3 // 4 // This file is part of Open CASCADE Technology software library. 5 // 6 // This library is free software; you can redistribute it and/or modify it under 7 // the terms of the GNU Lesser General Public License version 2.1 as published 8 // by the Free Software Foundation, with special exception defined in the file 9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 10 // distribution for complete text of the license and disclaimer of any warranty. 11 // 12 // Alternatively, this file may be used under the terms of Open CASCADE 13 // commercial license or contractual agreement. 14 15 #ifndef _TopOpeBRepDS_Reducer_HeaderFile 16 #define _TopOpeBRepDS_Reducer_HeaderFile 17 18 #include <Standard.hxx> 19 #include <Standard_DefineAlloc.hxx> 20 #include <Standard_Handle.hxx> 21 22 #include <TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State.hxx> 23 class TopOpeBRepDS_HDataStructure; 24 25 26 //! reduce interferences of a data structure (HDS) 27 //! used in topological operations. 28 class TopOpeBRepDS_Reducer 29 { 30 public: 31 32 DEFINE_STANDARD_ALLOC 33 34 35 Standard_EXPORT TopOpeBRepDS_Reducer(const Handle(TopOpeBRepDS_HDataStructure)& HDS); 36 37 Standard_EXPORT void ProcessFaceInterferences (const TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State& M); 38 39 Standard_EXPORT void ProcessEdgeInterferences(); 40 41 42 43 44 protected: 45 46 47 48 49 50 private: 51 52 53 54 Handle(TopOpeBRepDS_HDataStructure) myHDS; 55 56 57 }; 58 59 60 61 62 63 64 65 #endif // _TopOpeBRepDS_Reducer_HeaderFile 66