0022627: Change OCCT memory management defaults
[occt.git] / src / IntSurf / IntSurf_PathPoint.lxx
1 #include <StdFail_UndefinedDerivative.hxx>
2 #include <TColgp_HSequenceOfXY.hxx>
3
4 inline void IntSurf_PathPoint::AddUV(const Standard_Real U,
5                                      const Standard_Real V) {
6   sequv->Append(gp_XY(U,V));
7 }
8   
9 inline void IntSurf_PathPoint::SetDirections (const gp_Vec& V,
10                                               const gp_Dir2d& D) {
11
12   istgt = Standard_False;
13   vectg = V;
14   dirtg = D;
15 }
16
17 inline void IntSurf_PathPoint::SetTangency (const Standard_Boolean Tang) {
18   
19   istgt = Tang;
20 }
21
22 inline void IntSurf_PathPoint::SetPassing (const Standard_Boolean Pass) {
23
24   ispass = Pass;
25 }
26
27 inline const gp_Pnt& IntSurf_PathPoint::Value () const
28 {
29   return pt;
30 }
31
32 inline void IntSurf_PathPoint::Value2d (Standard_Real& U,
33                                         Standard_Real& V) const
34 {
35   gp_XY uv(sequv->Sequence().First());
36   U = uv.X();
37   V = uv.Y();
38 }
39
40 inline Standard_Boolean IntSurf_PathPoint::IsPassingPnt () const {
41
42   return ispass;
43 }
44
45 inline Standard_Boolean IntSurf_PathPoint::IsTangent () const {
46
47   return istgt;
48 }
49
50 inline const gp_Vec& IntSurf_PathPoint::Direction3d () const {
51
52   if (istgt) {StdFail_UndefinedDerivative::Raise();}
53   return vectg;
54 }
55
56 inline const gp_Dir2d& IntSurf_PathPoint::Direction2d () const {
57
58   if (istgt) {StdFail_UndefinedDerivative::Raise();}
59   return dirtg;
60 }
61
62 inline Standard_Integer IntSurf_PathPoint::Multiplicity () const {
63
64   return (sequv->Length()-1);
65 }
66
67 inline void IntSurf_PathPoint::Parameters (const Standard_Integer Index,
68                                            Standard_Real& U,
69                                            Standard_Real& V) const
70 {
71   gp_XY uv(sequv->Value(Index+1));
72   U = uv.X();
73   V = uv.Y();
74 }
75