1 // Created on: 1993-03-30
2 // Created by: Laurent BUCHARD
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #include TheMultiLine_hxx
19 #include <TColgp_Array1OfPnt.hxx>
20 #include <TColgp_Array1OfPnt2d.hxx>
21 #include <TColgp_Array1OfVec.hxx>
22 #include <TColgp_Array1OfVec2d.hxx>
24 #include <Approx_Status.hxx>
26 //================================================================================
27 inline Standard_Integer ApproxInt_MultiLineTool::NbP2d(const TheMultiLine& ML) {
30 //--------------------------------------------------------------------------------
31 inline Standard_Integer ApproxInt_MultiLineTool::NbP3d(const TheMultiLine& ML) {
34 //--------------------------------------------------------------------------------
35 inline Standard_Integer ApproxInt_MultiLineTool::FirstPoint(const TheMultiLine& ML) {
36 return(ML.FirstPoint());
38 //--------------------------------------------------------------------------------
39 inline Standard_Integer ApproxInt_MultiLineTool::LastPoint(const TheMultiLine& ML) {
40 return(ML.LastPoint());
42 //--------------------------------------------------------------------------------
43 inline void ApproxInt_MultiLineTool::Value( const TheMultiLine& ML
44 ,const Standard_Integer Index
45 ,TColgp_Array1OfPnt& TabPnt) {
46 ML.Value(Index,TabPnt);
48 //--------------------------------------------------------------------------------
49 inline void ApproxInt_MultiLineTool::Value( const TheMultiLine& ML
50 ,const Standard_Integer Index
51 ,TColgp_Array1OfPnt2d& TabPnt2d) {
52 ML.Value(Index,TabPnt2d);
54 //--------------------------------------------------------------------------------
55 inline void ApproxInt_MultiLineTool::Value( const TheMultiLine& ML
56 ,const Standard_Integer Index
57 ,TColgp_Array1OfPnt& TabPnt
58 ,TColgp_Array1OfPnt2d& TabPnt2d) {
59 ML.Value(Index,TabPnt,TabPnt2d);
61 //--------------------------------------------------------------------------------
62 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency( const TheMultiLine& ML
63 ,const Standard_Integer Index
64 ,TColgp_Array1OfVec& TabVec) {
65 return(ML.Tangency(Index,TabVec));
67 //--------------------------------------------------------------------------------
68 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency( const TheMultiLine& ML
69 ,const Standard_Integer Index
70 ,TColgp_Array1OfVec2d& TabVec2d) {
71 return(ML.Tangency(Index,TabVec2d));
73 //--------------------------------------------------------------------------------
74 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency( const TheMultiLine& ML
75 ,const Standard_Integer Index
76 ,TColgp_Array1OfVec& TabVec
77 ,TColgp_Array1OfVec2d& TabVec2d) {
78 return(ML.Tangency(Index,TabVec,TabVec2d));
81 //--------------------------------------------------------------------------------
82 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature( const TheMultiLine& //ML
83 ,const Standard_Integer //Index
84 ,TColgp_Array1OfVec& ) { //TabVec
85 return Standard_False;
87 //--------------------------------------------------------------------------------
88 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature( const TheMultiLine& //ML
89 ,const Standard_Integer //Index
90 ,TColgp_Array1OfVec2d& ) { //TabVec2d
91 return Standard_False;
93 //--------------------------------------------------------------------------------
94 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature( const TheMultiLine& //ML
95 ,const Standard_Integer //Index
96 ,TColgp_Array1OfVec& //TabVec
97 ,TColgp_Array1OfVec2d& ) { //TabVec2d
98 return Standard_False;
100 //--------------------------------------------------------------------------------
101 inline Approx_Status ApproxInt_MultiLineTool::WhatStatus(const TheMultiLine& ML
102 ,const Standard_Integer
103 ,const Standard_Integer) {
107 //-- Approx_PointsAdded
108 return(ML.WhatStatus());
110 //--------------------------------------------------------------------------------
111 inline TheMultiLine ApproxInt_MultiLineTool::MakeMLBetween(const TheMultiLine& ML,
112 const Standard_Integer I1,
113 const Standard_Integer I2,
114 const Standard_Integer NbPMin) {
116 return(ML.MakeMLBetween(I1,I2,NbPMin));
118 //--------------------------------------------------------------------------------
119 inline Standard_Boolean ApproxInt_MultiLineTool::MakeMLOneMorePoint(const TheMultiLine& ML,
120 const Standard_Integer I1,
121 const Standard_Integer I2,
122 const Standard_Integer indbad,
123 TheMultiLine& OtherLine)
125 return (ML.MakeMLOneMorePoint(I1,I2,indbad,OtherLine));
128 inline void ApproxInt_MultiLineTool::Dump(const TheMultiLine& ML)
132 //================================================================================