2250094d824b9354906cede900460c5e64961f49
[occt.git] / src / ApproxInt / ApproxInt_MultiLineTool.lxx
1 // Created on: 1993-03-30
2 // Created by: Laurent BUCHARD
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2012 OPEN CASCADE SAS
5 //
6 // The content of this file is subject to the Open CASCADE Technology Public
7 // License Version 6.5 (the "License"). You may not use the content of this file
8 // except in compliance with the License. Please obtain a copy of the License
9 // at http://www.opencascade.org and read it completely before using this file.
10 //
11 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 //
14 // The Original Code and all software distributed under the License is
15 // distributed on an "AS IS" basis, without warranty of any kind, and the
16 // Initial Developer hereby disclaims all such warranties, including without
17 // limitation, any warranties of merchantability, fitness for a particular
18 // purpose or non-infringement. Please see the License for the specific terms
19 // and conditions governing the rights and limitations under the License.
20
21
22
23 #include TheMultiLine_hxx
24
25 #include <TColgp_Array1OfPnt.hxx>
26 #include <TColgp_Array1OfPnt2d.hxx>
27 #include <TColgp_Array1OfVec.hxx>
28 #include <TColgp_Array1OfVec2d.hxx>
29
30 #include <Approx_Status.hxx>
31
32 //================================================================================
33 inline Standard_Integer ApproxInt_MultiLineTool::NbP2d(const TheMultiLine& ML) { 
34   return(ML.NbP2d());
35 }
36 //--------------------------------------------------------------------------------
37 inline Standard_Integer ApproxInt_MultiLineTool::NbP3d(const TheMultiLine& ML) { 
38   return(ML.NbP3d()); 
39 }
40 //--------------------------------------------------------------------------------
41 inline Standard_Integer ApproxInt_MultiLineTool::FirstPoint(const TheMultiLine& ML) { 
42   return(ML.FirstPoint());
43 }
44 //--------------------------------------------------------------------------------
45 inline Standard_Integer ApproxInt_MultiLineTool::LastPoint(const TheMultiLine& ML) { 
46   return(ML.LastPoint());
47 }
48 //--------------------------------------------------------------------------------
49 inline void ApproxInt_MultiLineTool::Value( const TheMultiLine&     ML
50                                            ,const Standard_Integer Index
51                                            ,TColgp_Array1OfPnt&        TabPnt) { 
52   ML.Value(Index,TabPnt);
53 }
54 //--------------------------------------------------------------------------------
55 inline void ApproxInt_MultiLineTool::Value( const TheMultiLine&     ML
56                                            ,const Standard_Integer Index
57                                            ,TColgp_Array1OfPnt2d&       TabPnt2d) { 
58   ML.Value(Index,TabPnt2d);
59 }
60 //--------------------------------------------------------------------------------
61 inline void ApproxInt_MultiLineTool::Value( const TheMultiLine&     ML
62                                            ,const Standard_Integer Index
63                                            ,TColgp_Array1OfPnt&        TabPnt
64                                            ,TColgp_Array1OfPnt2d&      TabPnt2d) { 
65   ML.Value(Index,TabPnt,TabPnt2d);
66 }
67 //--------------------------------------------------------------------------------
68 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency( const TheMultiLine&    ML
69                                                           ,const Standard_Integer Index
70                                                           ,TColgp_Array1OfVec&        TabVec) { 
71   return(ML.Tangency(Index,TabVec));
72 }
73 //--------------------------------------------------------------------------------
74 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency( const TheMultiLine&     ML
75                                                           ,const Standard_Integer Index
76                                                           ,TColgp_Array1OfVec2d&      TabVec2d) { 
77   return(ML.Tangency(Index,TabVec2d));
78 }
79 //--------------------------------------------------------------------------------
80 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency( const TheMultiLine&     ML
81                                                           ,const Standard_Integer Index
82                                                           ,TColgp_Array1OfVec&        TabVec
83                                                           ,TColgp_Array1OfVec2d&      TabVec2d) { 
84   return(ML.Tangency(Index,TabVec,TabVec2d));
85 }
86
87 //--------------------------------------------------------------------------------
88 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature( const TheMultiLine&     //ML
89                                                           ,const Standard_Integer   //Index
90                                                           ,TColgp_Array1OfVec&  ) { //TabVec 
91   return Standard_False;
92 }
93 //--------------------------------------------------------------------------------
94 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature( const TheMultiLine&      //ML
95                                                           ,const Standard_Integer    //Index
96                                                           ,TColgp_Array1OfVec2d& ) { //TabVec2d
97   return Standard_False;
98 }
99 //--------------------------------------------------------------------------------
100 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature( const TheMultiLine&      //ML
101                                                           ,const Standard_Integer    //Index
102                                                           ,TColgp_Array1OfVec&       //TabVec
103                                                           ,TColgp_Array1OfVec2d& ) { //TabVec2d
104   return Standard_False;
105 }
106 //--------------------------------------------------------------------------------
107 inline Approx_Status ApproxInt_MultiLineTool::WhatStatus(const TheMultiLine& ML
108                                                          ,const Standard_Integer
109                                                          ,const Standard_Integer) { 
110   //--  PointsAdded,
111   //--  NoPointsAdded,
112   //--  NoApproximation
113   //--  Approx_PointsAdded
114   return(ML.WhatStatus());
115 }
116 //--------------------------------------------------------------------------------      
117 inline TheMultiLine ApproxInt_MultiLineTool::MakeMLBetween(const TheMultiLine& ML,
118                                                            const Standard_Integer I1,
119                                                            const Standard_Integer I2,
120                                                            const Standard_Integer NbPMin) { 
121   
122   return(ML.MakeMLBetween(I1,I2,NbPMin));
123 }
124 //================================================================================