1// Created by: Peter KURNEV
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#include <BOPDS_Pair.hxx>
16//=======================================================================
17//function : InterfVV
18//purpose  :
19//=======================================================================
20inline BOPDS_VectorOfInterfVV& BOPDS_DS::InterfVV()
21{
22  return myInterfVV;
23}
24//=======================================================================
25//function : InterfVE
26//purpose  :
27//=======================================================================
28inline BOPDS_VectorOfInterfVE& BOPDS_DS::InterfVE()
29{
30  return myInterfVE;
31}
32//=======================================================================
33//function : InterfVF
34//purpose  :
35//=======================================================================
36inline BOPDS_VectorOfInterfVF& BOPDS_DS::InterfVF()
37{
38  return myInterfVF;
39}//=======================================================================
40//function : InterfEE
41//purpose  :
42//=======================================================================
43inline BOPDS_VectorOfInterfEE& BOPDS_DS::InterfEE()
44{
45  return myInterfEE;
46}
47//=======================================================================
48//function : InterfEF
49//purpose  :
50//=======================================================================
51inline BOPDS_VectorOfInterfEF& BOPDS_DS::InterfEF()
52{
53  return myInterfEF;
54}
55//=======================================================================
56//function : InterfFF
57//purpose  :
58//=======================================================================
59inline BOPDS_VectorOfInterfFF& BOPDS_DS::InterfFF()
60{
61  return myInterfFF;
62}
63//=======================================================================
64//function : InterfVZ
65//purpose  :
66//=======================================================================
67inline BOPDS_VectorOfInterfVZ& BOPDS_DS::InterfVZ()
68{
69  return myInterfVZ;
70}
71//=======================================================================
72//function : InterfEZ
73//purpose  :
74//=======================================================================
75inline BOPDS_VectorOfInterfEZ& BOPDS_DS::InterfEZ()
76{
77  return myInterfEZ;
78}
79//=======================================================================
80//function : InterfFZ
81//purpose  :
82//=======================================================================
83inline BOPDS_VectorOfInterfFZ& BOPDS_DS::InterfFZ()
84{
85  return myInterfFZ;
86}
87//=======================================================================
88//function : InterfZZ
89//purpose  :
90//=======================================================================
91inline BOPDS_VectorOfInterfZZ& BOPDS_DS::InterfZZ()
92{
93  return myInterfZZ;
94}
95//=======================================================================
96//function : NbInterfTypes
97//purpose  :
98//=======================================================================
99inline Standard_Integer BOPDS_DS::NbInterfTypes()
100{
101  return 10;
102}
103//=======================================================================
104//function : AddInterf
105//purpose  :
106//=======================================================================
107inline Standard_Boolean BOPDS_DS::AddInterf(const Standard_Integer theI1,
108                                            const Standard_Integer theI2)
109{
110  if (myInterfTB.Add(BOPDS_Pair(theI1, theI2)))
111  {
112    myInterfered.Add(theI1);
113    myInterfered.Add(theI2);
114    return Standard_True;
115  }
116  return Standard_False;
117}
118//=======================================================================
119//function : HasInterf
120//purpose  :
121//=======================================================================
122inline Standard_Boolean BOPDS_DS::HasInterf(const Standard_Integer theI) const
123{
124  return myInterfered.Contains(theI);
125}
126//=======================================================================
127//function : HasInterf
128//purpose  :
129//=======================================================================
130inline Standard_Boolean BOPDS_DS::HasInterf
131  (const Standard_Integer theI1,
132   const Standard_Integer theI2)const
133{
134  BOPDS_Pair aPK(theI1, theI2);
135  return myInterfTB.Contains(aPK);
136}
137//=======================================================================
138//function : Interferences
139//purpose  :
140//=======================================================================
141inline const BOPDS_MapOfPair& BOPDS_DS::Interferences()const
142{
143  return myInterfTB;
144}
145