0026937: Eliminate NO_CXX_EXCEPTION macro support
[occt.git] / src / BRepBlend / BRepBlend_Line.lxx
1 // Copyright (c) 1995-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
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
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.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 #include <Blend_SequenceOfPoint.hxx>
16 #include <Standard_DomainError.hxx>
17
18
19 inline void BRepBlend_Line::Append(const Blend_Point& P)
20 {
21   seqpt.Append(P);
22 }
23
24 inline void BRepBlend_Line::Prepend(const Blend_Point& P)
25 {
26   seqpt.Prepend(P);
27 }
28
29 inline void BRepBlend_Line::InsertBefore(const Standard_Integer Index,
30                                     const Blend_Point& P) 
31 {
32   seqpt.InsertBefore(Index, P);
33 }
34
35 inline void BRepBlend_Line::Remove(const Standard_Integer FromIndex,
36                                const Standard_Integer ToIndex)
37 {
38   seqpt.Remove(FromIndex,ToIndex);
39 }
40
41 inline void BRepBlend_Line::SetStartPoints(const BRepBlend_Extremity& StartPtOnS1,
42                                        const BRepBlend_Extremity& StartPtOnS2)
43
44 {
45   stp1  = StartPtOnS1;
46   stp2  = StartPtOnS2;
47 }
48
49 inline void BRepBlend_Line::SetEndPoints(const BRepBlend_Extremity& EndPtOnS1,
50                                      const BRepBlend_Extremity& EndPtOnS2)
51
52 {
53   endp1 = EndPtOnS1;
54   endp2 = EndPtOnS2;
55 }
56
57 inline Standard_Integer BRepBlend_Line::NbPoints () const
58 {
59   return seqpt.Length();
60 }
61
62 inline const Blend_Point& BRepBlend_Line::Point(const Standard_Integer Index) const
63 {
64   return seqpt(Index);
65 }
66
67 inline IntSurf_TypeTrans BRepBlend_Line::TransitionOnS1 () const
68 {
69   if (!hass1) {throw Standard_DomainError();}
70   return tras1;
71 }
72
73 inline IntSurf_TypeTrans BRepBlend_Line::TransitionOnS2 () const
74 {
75   if (!hass2) {throw Standard_DomainError();}
76   return tras2;
77 }
78
79 inline const BRepBlend_Extremity& BRepBlend_Line::StartPointOnFirst() const
80 {
81   return stp1;
82 }
83
84 inline const BRepBlend_Extremity& BRepBlend_Line::StartPointOnSecond() const
85 {
86   return stp2;
87 }
88
89 inline const BRepBlend_Extremity& BRepBlend_Line::EndPointOnFirst() const
90 {
91   return endp1;
92 }
93
94 inline const BRepBlend_Extremity& BRepBlend_Line::EndPointOnSecond() const
95 {
96   return endp2;
97 }
98
99 inline IntSurf_TypeTrans BRepBlend_Line::TransitionOnS () const
100 {
101   if (!hass1) {throw Standard_DomainError();}
102   return tras1;
103 }
104
105