summaryrefslogtreecommitdiff
path: root/inc/IntPatch_RLine.lxx
blob: 3f79129de25daf6323c80d8a6431b0059840f912 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
// File:	IntPatch_RLine.lxx
// Created:	Mon Apr  6 11:17:45 1992
// Author:	Jacques GOUSSARD
// Copyright:	 Matra Datavision 1992

#include <Standard_DomainError.hxx>
#include <IntSurf_LineOn2S.hxx>
#include <IntPatch_Point.hxx>


inline const Handle(Adaptor2d_HCurve2d)& IntPatch_RLine::ArcOnS1() const
{
  return theArcOnS1;
}

inline const Handle(Adaptor2d_HCurve2d)& IntPatch_RLine::ArcOnS2() const
{
  return theArcOnS2;
}

//-- Il faut mettre cet include ici , car l include fait un define Handle(Adaptor2d_HCurve2d) ...
//-- et en fin de fichier un undef Handle(Adaptor2d_HCurve2d) ... 

inline void IntPatch_RLine::AddVertex (const IntPatch_Point& Pnt)
{
  svtx.Append(Pnt);
}

inline void IntPatch_RLine::Replace (const Standard_Integer Index,
				     const IntPatch_Point& Pnt)
{
  svtx(Index) = Pnt;
}

inline void IntPatch_RLine::SetFirstPoint (const Standard_Integer IndFirst)
{
  fipt = Standard_True;
  indf = IndFirst;
}

inline void IntPatch_RLine::SetLastPoint (const Standard_Integer IndLast)
{
  lapt = Standard_True;
  indl = IndLast;
}

inline void IntPatch_RLine::Add(const Handle(IntSurf_LineOn2S)& L)
{
  curv = L;
}

inline Standard_Boolean IntPatch_RLine::IsArcOnS1() const
{
  return onS1;
}

inline Standard_Boolean IntPatch_RLine::IsArcOnS2() const
{
  return onS2;
}

inline Standard_Boolean IntPatch_RLine::HasFirstPoint () const
{
  return fipt;
}

inline Standard_Boolean IntPatch_RLine::HasLastPoint () const
{
  return lapt;
}

inline const IntPatch_Point& IntPatch_RLine::FirstPoint () const
{
  if (!fipt) {Standard_DomainError::Raise();}
  return svtx(indf);
}

inline const IntPatch_Point& IntPatch_RLine::LastPoint () const
{
  if (!lapt) {Standard_DomainError::Raise();}
  return svtx(indl);
}

inline Standard_Integer IntPatch_RLine::NbVertex () const
{
  return svtx.Length();
}

inline const IntPatch_Point& IntPatch_RLine::Vertex (const Standard_Integer Index) const
{
  return svtx(Index);
}

inline Standard_Boolean IntPatch_RLine::HasPolygon () const
{
  return (!curv.IsNull());
}

inline Standard_Integer IntPatch_RLine::NbPnts () const
{
  if (curv.IsNull()) {Standard_DomainError::Raise();}
  return curv->NbPoints();
}

inline const IntSurf_PntOn2S& IntPatch_RLine::Point (const Standard_Integer Index) const
{
  if (curv.IsNull()) {Standard_DomainError::Raise();}
  return curv->Value(Index);
}