1 // Created on: 1993-06-23
2 // Created by: Jean Yves LEBEY
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
18 #include <Standard_Type.hxx>
19 #include <TCollection_AsciiString.hxx>
21 #include <TopOpeBRepDS.hxx>
22 #include <TopOpeBRepDS_Interference.hxx>
23 #include <TopOpeBRepDS_Transition.hxx>
25 IMPLEMENT_STANDARD_RTTIEXT(TopOpeBRepDS_Interference,Standard_Transient)
27 //=======================================================================
28 //function : TopOpeBRepDS_Interference
30 //=======================================================================
31 TopOpeBRepDS_Interference::TopOpeBRepDS_Interference()
35 //=======================================================================
36 //function : TopOpeBRepDS_Interference
38 //=======================================================================
40 TopOpeBRepDS_Interference::TopOpeBRepDS_Interference
41 (const TopOpeBRepDS_Transition& T,
42 const TopOpeBRepDS_Kind ST,
43 const Standard_Integer S,
44 const TopOpeBRepDS_Kind GT,
45 const Standard_Integer G) :
54 //=======================================================================
55 //function : TopOpeBRepDS_Interference
57 //=======================================================================
59 TopOpeBRepDS_Interference::TopOpeBRepDS_Interference
60 (const Handle(TopOpeBRepDS_Interference)& I ) :
61 myTransition(I->Transition()),
62 mySupport(I->Support()),
63 myGeometry(I->Geometry()),
64 mySupportType(I->SupportType()),
65 myGeometryType(I->GeometryType())
70 //=======================================================================
71 //function : Transition
73 //=======================================================================
75 const TopOpeBRepDS_Transition& TopOpeBRepDS_Interference::Transition() const
81 //=======================================================================
82 //function : ChangeTransition
84 //=======================================================================
86 TopOpeBRepDS_Transition& TopOpeBRepDS_Interference::ChangeTransition()
91 //=======================================================================
92 //function : Transition
94 //=======================================================================
96 void TopOpeBRepDS_Interference::Transition(const TopOpeBRepDS_Transition& T)
101 //=======================================================================
102 //function : SupportType
104 //=======================================================================
106 void TopOpeBRepDS_Interference::GKGSKS(TopOpeBRepDS_Kind& GK,
108 TopOpeBRepDS_Kind& SK,
109 Standard_Integer& S) const
117 //=======================================================================
118 //function : SupportType
120 //=======================================================================
122 TopOpeBRepDS_Kind TopOpeBRepDS_Interference::SupportType()const
124 return mySupportType;
128 //=======================================================================
131 //=======================================================================
133 Standard_Integer TopOpeBRepDS_Interference::Support()const
139 //=======================================================================
140 //function : GeometryType
142 //=======================================================================
144 TopOpeBRepDS_Kind TopOpeBRepDS_Interference::GeometryType()const
146 return myGeometryType;
150 //=======================================================================
151 //function : Geometry
153 //=======================================================================
155 Standard_Integer TopOpeBRepDS_Interference::Geometry()const
160 //=======================================================================
161 //function : SetGeometry
163 //=======================================================================
165 void TopOpeBRepDS_Interference::SetGeometry(const Standard_Integer GI)
171 //=======================================================================
172 //function : SupportType
174 //=======================================================================
176 void TopOpeBRepDS_Interference::SupportType(const TopOpeBRepDS_Kind ST)
182 //=======================================================================
185 //=======================================================================
187 void TopOpeBRepDS_Interference::Support(const Standard_Integer S)
193 //=======================================================================
194 //function : GeometryType
196 //=======================================================================
198 void TopOpeBRepDS_Interference::GeometryType(const TopOpeBRepDS_Kind GT)
204 //=======================================================================
205 //function : Geometry
207 //=======================================================================
209 void TopOpeBRepDS_Interference::Geometry(const Standard_Integer G)
214 //=======================================================================
215 //function : HasSameSupport
217 //=======================================================================
219 Standard_Boolean TopOpeBRepDS_Interference::HasSameSupport(const Handle(TopOpeBRepDS_Interference)& I)
222 return (mySupportType == I->mySupportType && mySupport == I->mySupport);
225 //=======================================================================
226 //function : HasSameGeometry
228 //=======================================================================
230 Standard_Boolean TopOpeBRepDS_Interference::HasSameGeometry(const Handle(TopOpeBRepDS_Interference)& I)
233 return (myGeometryType == I->myGeometryType && myGeometry == I->myGeometry);