0023024: Update headers of OCCT files
[occt.git] / src / BRepCheck / BRepCheck_Result.cxx
1 // Created on: 1995-12-07
2 // Created by: Jacques GOUSSARD
3 // Copyright (c) 1995-1999 Matra Datavision
4 // Copyright (c) 1999-2012 OPEN CASCADE SAS
5 //
6 // The content of this file is subject to the Open CASCADE Technology Public
7 // License Version 6.5 (the "License"). You may not use the content of this file
8 // except in compliance with the License. Please obtain a copy of the License
9 // at http://www.opencascade.org and read it completely before using this file.
10 //
11 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 //
14 // The Original Code and all software distributed under the License is
15 // distributed on an "AS IS" basis, without warranty of any kind, and the
16 // Initial Developer hereby disclaims all such warranties, including without
17 // limitation, any warranties of merchantability, fitness for a particular
18 // purpose or non-infringement. Please see the License for the specific terms
19 // and conditions governing the rights and limitations under the License.
20
21
22
23 #include <BRepCheck_Result.ixx>
24 #include <BRepCheck.hxx>
25
26
27 //=======================================================================
28 //function : BRepCheck_Result
29 //purpose  : 
30 //=======================================================================
31
32 BRepCheck_Result::BRepCheck_Result() :
33    myMin(Standard_False),myBlind(Standard_False)
34 {
35 }
36
37
38 //=======================================================================
39 //function : Init
40 //purpose  : 
41 //=======================================================================
42
43 void BRepCheck_Result::Init(const TopoDS_Shape& S)
44 {
45   myShape = S;
46   myMin = Standard_False;
47   myBlind = Standard_False;
48   myMap.Clear();
49   Minimum();
50 }
51
52 //=======================================================================
53 //function : SetFailStatus
54 //purpose  : 
55 //=======================================================================
56 void BRepCheck_Result::SetFailStatus(const TopoDS_Shape& S) 
57 {
58   if(!myMap.IsBound(S)) {
59     BRepCheck_ListOfStatus thelist;
60     myMap.Bind(S, thelist);
61   }
62   BRepCheck::Add(myMap(S), BRepCheck_CheckFail);
63 }
64
65
66 //=======================================================================
67 //function : StatusOnShape
68 //purpose  : 
69 //=======================================================================
70
71 const BRepCheck_ListOfStatus& BRepCheck_Result::StatusOnShape
72    (const TopoDS_Shape& S)
73 {
74   if (!myMap.IsBound(S)) {
75     InContext(S);
76   }
77   return myMap(S);
78 }
79
80
81 //=======================================================================
82 //function : InitContextIterator
83 //purpose  : 
84 //=======================================================================
85
86 void BRepCheck_Result::InitContextIterator()
87 {
88   myIter.Initialize(myMap);
89   // At least 1 element : the Shape itself
90   if (myIter.Key().IsSame(myShape)) {
91     myIter.Next();
92   }
93 }
94
95
96 //=======================================================================
97 //function : NextShapeInContext
98 //purpose  : 
99 //=======================================================================
100
101 void BRepCheck_Result::NextShapeInContext()
102 {
103   myIter.Next();
104   if (myIter.More() && myIter.Key().IsSame(myShape)) {
105     myIter.Next();
106   }
107 }