|
||||
File indexing completed on 2025-01-18 10:03:04
0001 // Created by: Peter KURNEV 0002 // Copyright (c) 2010-2014 OPEN CASCADE SAS 0003 // Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE 0004 // Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, 0005 // EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 0006 // 0007 // This file is part of Open CASCADE Technology software library. 0008 // 0009 // This library is free software; you can redistribute it and/or modify it under 0010 // the terms of the GNU Lesser General Public License version 2.1 as published 0011 // by the Free Software Foundation, with special exception defined in the file 0012 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0013 // distribution for complete text of the license and disclaimer of any warranty. 0014 // 0015 // Alternatively, this file may be used under the terms of Open CASCADE 0016 // commercial license or contractual agreement. 0017 0018 #ifndef _BOPDS_IteratorSI_HeaderFile 0019 #define _BOPDS_IteratorSI_HeaderFile 0020 0021 #include <Standard.hxx> 0022 #include <Standard_DefineAlloc.hxx> 0023 #include <Standard_Handle.hxx> 0024 0025 #include <BOPDS_Iterator.hxx> 0026 #include <NCollection_BaseAllocator.hxx> 0027 #include <Standard_Integer.hxx> 0028 0029 0030 0031 //! The class BOPDS_IteratorSI is 0032 //! 1.to compute self-intersections between BRep sub-shapes 0033 //! of each argument of an operation (see the class BOPDS_DS) 0034 //! in terms of theirs bounding boxes 0035 //! 2.provides interface to iterare the pairs of 0036 //! intersected sub-shapes of given type 0037 class BOPDS_IteratorSI : public BOPDS_Iterator 0038 { 0039 public: 0040 0041 DEFINE_STANDARD_ALLOC 0042 0043 0044 0045 //! Empty constructor 0046 Standard_EXPORT BOPDS_IteratorSI(); 0047 0048 Standard_EXPORT virtual ~BOPDS_IteratorSI(); 0049 0050 //! Constructor 0051 //! @param theAllocator the allocator to manage the memory 0052 Standard_EXPORT BOPDS_IteratorSI(const Handle(NCollection_BaseAllocator)& theAllocator); 0053 0054 //! Updates the lists of possible intersections 0055 //! according to the value of <theLevel>. 0056 //! It defines which interferferences will be checked: 0057 //! 0 - only V/V; 0058 //! 1 - V/V and V/E; 0059 //! 2 - V/V, V/E and E/E; 0060 //! 3 - V/V, V/E, E/E and V/F; 0061 //! 4 - V/V, V/E, E/E, V/F and E/F; 0062 //! other - all interferences. 0063 Standard_EXPORT void UpdateByLevelOfCheck (const Standard_Integer theLevel); 0064 0065 0066 0067 0068 protected: 0069 0070 0071 Standard_EXPORT virtual void Intersect(const Handle(IntTools_Context)& theCtx = Handle(IntTools_Context)(), 0072 const Standard_Boolean theCheckOBB = Standard_False, 0073 const Standard_Real theFuzzyValue = Precision::Confusion()) Standard_OVERRIDE; 0074 0075 0076 0077 0078 private: 0079 0080 0081 0082 0083 0084 }; 0085 0086 0087 0088 0089 0090 0091 0092 #endif // _BOPDS_IteratorSI_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |