0027664: Incomplete intersection curve from the attached shapes
[occt.git] / src / IntPatch / IntPatch_Point.lxx
CommitLineData
b311480e 1// Created on: 1992-05-06
2// Created by: Jacques GOUSSARD
3// Copyright (c) 1992-1999 Matra Datavision
973c2be1 4// Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5//
973c2be1 6// This file is part of Open CASCADE Technology software library.
b311480e 7//
d5f74e42 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
973c2be1 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.
b311480e 13//
973c2be1 14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
7fd59977 16
17inline IntPatch_Point::IntPatch_Point ()
18 : para(0.0), tol(0.0), tgt(Standard_False), mult(Standard_False),
19 onS1(Standard_False), vtxonS1(Standard_False), prm1(0.0),
50a0744c 20 onS2(Standard_False), vtxonS2(Standard_False), prm2(0.0)
7fd59977 21{
22}
23
24
25inline void IntPatch_Point::SetValue (const gp_Pnt& Pt)
26{
27 pt.SetValue(Pt);
28}
29
30
31inline void IntPatch_Point::SetTolerance (const Standard_Real Tol)
32{
33 tol = Tol;
34}
35
36
37inline void IntPatch_Point::SetParameters (const Standard_Real U1,
38 const Standard_Real V1,
39 const Standard_Real U2,
40 const Standard_Real V2)
41{
42 pt.SetValue(U1,V1,U2,V2);
43}
44
45
46inline void IntPatch_Point::SetParameter (const Standard_Real Para)
47{
48 para = Para;
49}
50a0744c 50
7fd59977 51
52inline void IntPatch_Point::SetMultiple (const Standard_Boolean IsMult)
53{
54 mult = IsMult;
55}
56
57
58inline const gp_Pnt& IntPatch_Point::Value () const
59{
60 return pt.Value();
61}
62
63
64inline Standard_Real IntPatch_Point::Tolerance () const
65{
66 return tol;
67}
68
69
70inline Standard_Real IntPatch_Point::ParameterOnLine () const
71{
72 return para;
73}
74
75
76inline Standard_Boolean IntPatch_Point::IsTangencyPoint () const
77{
78 return tgt;
79}
80
81
82inline void IntPatch_Point::ParametersOnS1 (Standard_Real& U1, Standard_Real& V1) const
83{
84 pt.ParametersOnS1(U1,V1);
85}
86
87
88inline void IntPatch_Point::ParametersOnS2 (Standard_Real& U2, Standard_Real& V2) const
89{
90 pt.ParametersOnS2(U2,V2);
91}
92
93
94inline Standard_Boolean IntPatch_Point::IsMultiple () const
95{
96 return mult;
97}
98
99
100inline Standard_Boolean IntPatch_Point::IsOnDomS1 () const
101{
102 return onS1;
103}
104
105
106inline Standard_Boolean IntPatch_Point::IsVertexOnS1 () const
107{
108 return vtxonS1;
109}
110
111
112inline const Handle(Adaptor3d_HVertex)& IntPatch_Point::VertexOnS1 () const
113{
114 if (!vtxonS1) {Standard_DomainError::Raise();}
115 return vS1;
116}
117
118
119inline const Handle(Adaptor2d_HCurve2d)& IntPatch_Point::ArcOnS1 () const
120{
121 if (!onS1) {Standard_DomainError::Raise();}
122 return arcS1;
123}
124
125
126inline const IntSurf_Transition& IntPatch_Point::TransitionLineArc1 () const
127{
128 if (!onS1) {Standard_DomainError::Raise();}
129 return traline1;
130}
131
132
133inline const IntSurf_Transition& IntPatch_Point::TransitionOnS1 () const
134{
135 if (!onS1) {Standard_DomainError::Raise();}
136 return tra1;
137}
138
139
140inline Standard_Real IntPatch_Point::ParameterOnArc1 () const
141{
142 if (!onS1) {Standard_DomainError::Raise();}
143 return prm1;
144}
145
146
147inline Standard_Boolean IntPatch_Point::IsOnDomS2 () const
148{
149 return onS2;
150}
151
152
153inline Standard_Boolean IntPatch_Point::IsVertexOnS2 () const
154{
155 return vtxonS2;
156}
157
158
159inline const Handle(Adaptor3d_HVertex)& IntPatch_Point::VertexOnS2 () const
160{
161 if (!vtxonS2) {Standard_DomainError::Raise();}
162 return vS2;
163}
164
165
166inline const Handle(Adaptor2d_HCurve2d)& IntPatch_Point::ArcOnS2 () const
167{
168 if (!onS2) {Standard_DomainError::Raise();}
169 return arcS2;
170}
171
172
173inline const IntSurf_Transition& IntPatch_Point::TransitionLineArc2 () const
174{
175 if (!onS2) {Standard_DomainError::Raise();}
176 return traline2;
177}
178
179
180inline const IntSurf_Transition& IntPatch_Point::TransitionOnS2 () const
181{
182 if (!onS2) {Standard_DomainError::Raise();}
183 return tra2;
184}
185
186
187inline Standard_Real IntPatch_Point::ParameterOnArc2 () const
188{
189 if (!onS2) {Standard_DomainError::Raise();}
190 return prm2;
191}
192
193
194inline const IntSurf_PntOn2S& IntPatch_Point::PntOn2S() const
195{
196 return pt;
197}
198
199
200inline void IntPatch_Point::Parameters(Standard_Real& U1, Standard_Real& V1,
201 Standard_Real& U2, Standard_Real& V2) const
50a0744c 202{
7fd59977 203 pt.Parameters(U1,V1,U2,V2);
204}