0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepBlend / BRepBlend_Extremity.cxx
CommitLineData
b311480e 1// Copyright (c) 1995-1999 Matra Datavision
973c2be1 2// Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 3//
973c2be1 4// This file is part of Open CASCADE Technology software library.
b311480e 5//
d5f74e42 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
973c2be1 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.
b311480e 11//
973c2be1 12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
b311480e 14
04f7bd75 15#include <BRepBlend_Extremity.ixx>
16#include <BRepBlend_PointOnRst.hxx>
17
18BRepBlend_Extremity::BRepBlend_Extremity ():
7fd59977 19 pt(gp_Pnt(0,0,0)),
20 tang(gp_Vec(0,0,0)),
21 param(0.0), u(0.0), v(0.0), tol(0.0),
22 isvtx(Standard_False), hastang(Standard_False)
23{
24}
25
04f7bd75 26BRepBlend_Extremity::BRepBlend_Extremity (const gp_Pnt& P,
7fd59977 27 const Standard_Real U,
28 const Standard_Real V,
29 const Standard_Real Param,
30 const Standard_Real Tol) :
31 pt(P),
32 tang(gp_Vec(0,0,0)),
33 param(Param),u(U),v(V),tol(Tol),isvtx(Standard_False),
34 hastang(Standard_False)
35{
36}
37
38
04f7bd75 39BRepBlend_Extremity::BRepBlend_Extremity (const gp_Pnt& P,
7fd59977 40 const Standard_Real U,
41 const Standard_Real V,
42 const Standard_Real Param,
43 const Standard_Real Tol,
04f7bd75 44 const Handle(Adaptor3d_HVertex)& Vtx) :
7fd59977 45 vtx(Vtx),pt(P),
46 tang(gp_Vec(0,0,0)),
47 param(Param),u(U),v(V),tol(Tol),isvtx(Standard_True),
48 hastang(Standard_False)
49{}
50
51
04f7bd75 52BRepBlend_Extremity::BRepBlend_Extremity (const gp_Pnt& P,
7fd59977 53 const Standard_Real W,
54 const Standard_Real Param,
55 const Standard_Real Tol) :
56 pt(P),
57 tang(gp_Vec(0,0,0)),
58 param(Param),u(W),tol(Tol),isvtx(Standard_False),
59 hastang(Standard_False)
60{}
61
62
04f7bd75 63void BRepBlend_Extremity::SetValue (const gp_Pnt& P,
7fd59977 64 const Standard_Real U,
65 const Standard_Real V,
66 const Standard_Real Param,
67 const Standard_Real Tol)
68{
69 pt = P;
70 u = U;
71 v = V;
72 param = Param;
73 tol = Tol;
74 isvtx = Standard_False;
75 seqpt.Clear();
76}
77
78
04f7bd75 79void BRepBlend_Extremity::SetValue (const gp_Pnt& P,
7fd59977 80 const Standard_Real U,
81 const Standard_Real V,
82 const Standard_Real Param,
83 const Standard_Real Tol,
04f7bd75 84 const Handle(Adaptor3d_HVertex)& Vtx)
7fd59977 85{
86 pt = P;
87 u = U;
88 v = V;
89 param = Param;
90 tol = Tol;
91 isvtx = Standard_True;
92 vtx = Vtx;
93 seqpt.Clear();
94}
95
04f7bd75 96void BRepBlend_Extremity::SetValue (const gp_Pnt& P,
7fd59977 97 const Standard_Real W,
98 const Standard_Real Param,
99 const Standard_Real Tol)
100{
101 pt = P;
102 u = W;
103 param = Param;
104 tol = Tol;
105 isvtx = Standard_False;
106 seqpt.Clear();
107}
108
109
04f7bd75 110void BRepBlend_Extremity::SetVertex (const Handle(Adaptor3d_HVertex)& V)
7fd59977 111{
112 isvtx = Standard_True;
113 vtx = V;
114}
115
04f7bd75 116void BRepBlend_Extremity::AddArc (const Handle(Adaptor2d_HCurve2d)& A,
7fd59977 117 const Standard_Real Param,
118 const IntSurf_Transition& TLine,
119 const IntSurf_Transition& TArc)
120{
04f7bd75 121 seqpt.Append(BRepBlend_PointOnRst(A,Param,TLine,TArc));
7fd59977 122}
123