0024029: Add a flag to bopcheck command to provide possibility to disable Face/Face...
[occt.git] / src / BOPAlgo / BOPAlgo_CheckerSI.cxx
1 // Created by: Peter KURNEV
2 // Copyright (c) 2010-2012 OPEN CASCADE SAS
3 // Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
4 // Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT,
5 //                         EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 //
7 // The content of this file is subject to the Open CASCADE Technology Public
8 // License Version 6.5 (the "License"). You may not use the content of this file
9 // except in compliance with the License. Please obtain a copy of the License
10 // at http://www.opencascade.org and read it completely before using this file.
11 //
12 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
13 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 //
15 // The Original Code and all software distributed under the License is
16 // distributed on an "AS IS" basis, without warranty of any kind, and the
17 // Initial Developer hereby disclaims all such warranties, including without
18 // limitation, any warranties of merchantability, fitness for a particular
19 // purpose or non-infringement. Please see the License for the specific terms
20 // and conditions governing the rights and limitations under the License.
21 //
22 #include <BOPAlgo_CheckerSI.ixx>
23
24 #include <BOPDS_DS.hxx>
25 #include <BOPDS_IteratorSI.hxx>
26 #include <BOPDS_PIteratorSI.hxx>
27 #include <BOPInt_Context.hxx>
28
29 //=======================================================================
30 //function : 
31 //purpose  : 
32 //=======================================================================
33   BOPAlgo_CheckerSI::BOPAlgo_CheckerSI()
34 :
35   BOPAlgo_PaveFiller(),
36   myLevelOfCheck(5)
37 {
38 }
39 //=======================================================================
40 //function : ~
41 //purpose  : 
42 //=======================================================================
43   BOPAlgo_CheckerSI::~BOPAlgo_CheckerSI()
44 {
45 }
46 //=======================================================================
47 //function : SetLevelOfCheck
48 //purpose  : 
49 //=======================================================================
50   void BOPAlgo_CheckerSI::SetLevelOfCheck(const Standard_Integer theLevel)
51 {
52   if (theLevel >= 0 && theLevel <= 5) {
53     myLevelOfCheck = theLevel;
54   }
55 }
56 //=======================================================================
57 //function : Init
58 //purpose  : 
59 //=======================================================================
60   void BOPAlgo_CheckerSI::Init()
61 {
62   myErrorStatus = 0;
63   //
64   if (!myArguments.Extent()) {
65     myErrorStatus=10;
66     return;
67   }
68   //
69   Clear();
70   //
71   // 1. myDS
72   myDS=new BOPDS_DS(myAllocator);
73   myDS->SetArguments(myArguments);
74   myDS->Init();
75   //
76   // 2.myIterator 
77   BOPDS_PIteratorSI theIterSI=new BOPDS_IteratorSI(myAllocator);
78   theIterSI->SetDS(myDS);
79   theIterSI->Prepare();
80   theIterSI->UpdateByLevelOfCheck(myLevelOfCheck);
81   //
82   myIterator=theIterSI;
83   //
84   // 3 myContext
85   myContext=new BOPInt_Context;
86   //
87   myErrorStatus=0;
88 }