Warning, /include/opencascade/ApproxInt_MultiLineTool.lxx is written in an unsupported language. File is not indexed.
0001 // Created on: 1993-03-30
0002 // Created by: Laurent BUCHARD
0003 // Copyright (c) 1993-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016
0017 #include TheMultiLine_hxx
0018
0019 #include <TColgp_Array1OfPnt.hxx>
0020 #include <TColgp_Array1OfPnt2d.hxx>
0021 #include <TColgp_Array1OfVec.hxx>
0022 #include <TColgp_Array1OfVec2d.hxx>
0023
0024 #include <Approx_Status.hxx>
0025
0026 //=================================================================================================
0027
0028 inline Standard_Integer ApproxInt_MultiLineTool::NbP2d(const TheMultiLine& ML)
0029 {
0030 return (ML.NbP2d());
0031 }
0032
0033 //=================================================================================================
0034
0035 inline Standard_Integer ApproxInt_MultiLineTool::NbP3d(const TheMultiLine& ML)
0036 {
0037 return (ML.NbP3d());
0038 }
0039
0040 //=================================================================================================
0041
0042 inline Standard_Integer ApproxInt_MultiLineTool::FirstPoint(const TheMultiLine& ML)
0043 {
0044 return (ML.FirstPoint());
0045 }
0046
0047 //=================================================================================================
0048
0049 inline Standard_Integer ApproxInt_MultiLineTool::LastPoint(const TheMultiLine& ML)
0050 {
0051 return (ML.LastPoint());
0052 }
0053
0054 //=================================================================================================
0055
0056 inline void ApproxInt_MultiLineTool::Value(const TheMultiLine& ML,
0057 const Standard_Integer Index,
0058 TColgp_Array1OfPnt& TabPnt)
0059 {
0060 ML.Value(Index, TabPnt);
0061 }
0062
0063 //=================================================================================================
0064
0065 inline void ApproxInt_MultiLineTool::Value(const TheMultiLine& ML,
0066 const Standard_Integer Index,
0067 TColgp_Array1OfPnt2d& TabPnt2d)
0068 {
0069 ML.Value(Index, TabPnt2d);
0070 }
0071
0072 //=================================================================================================
0073
0074 inline void ApproxInt_MultiLineTool::Value(const TheMultiLine& ML,
0075 const Standard_Integer Index,
0076 TColgp_Array1OfPnt& TabPnt,
0077 TColgp_Array1OfPnt2d& TabPnt2d)
0078 {
0079 ML.Value(Index, TabPnt, TabPnt2d);
0080 }
0081
0082 //=================================================================================================
0083
0084 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency(const TheMultiLine& ML,
0085 const Standard_Integer Index,
0086 TColgp_Array1OfVec& TabVec)
0087 {
0088 return (ML.Tangency(Index, TabVec));
0089 }
0090
0091 //=================================================================================================
0092
0093 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency(const TheMultiLine& ML,
0094 const Standard_Integer Index,
0095 TColgp_Array1OfVec2d& TabVec2d)
0096 {
0097 return (ML.Tangency(Index, TabVec2d));
0098 }
0099
0100 //=================================================================================================
0101
0102 inline Standard_Boolean ApproxInt_MultiLineTool::Tangency(const TheMultiLine& ML,
0103 const Standard_Integer Index,
0104 TColgp_Array1OfVec& TabVec,
0105 TColgp_Array1OfVec2d& TabVec2d)
0106 {
0107 return (ML.Tangency(Index, TabVec, TabVec2d));
0108 }
0109
0110 //=================================================================================================
0111
0112 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature(const TheMultiLine& // ML
0113 ,
0114 const Standard_Integer // Index
0115 ,
0116 TColgp_Array1OfVec&)
0117 { // TabVec
0118 return Standard_False;
0119 }
0120
0121 //=================================================================================================
0122
0123 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature(const TheMultiLine& // ML
0124 ,
0125 const Standard_Integer // Index
0126 ,
0127 TColgp_Array1OfVec2d&)
0128 { // TabVec2d
0129 return Standard_False;
0130 }
0131
0132 //=================================================================================================
0133
0134 inline Standard_Boolean ApproxInt_MultiLineTool::Curvature(const TheMultiLine& // ML
0135 ,
0136 const Standard_Integer // Index
0137 ,
0138 TColgp_Array1OfVec& // TabVec
0139 ,
0140 TColgp_Array1OfVec2d&)
0141 { // TabVec2d
0142 return Standard_False;
0143 }
0144
0145 //=================================================================================================
0146
0147 inline Approx_Status ApproxInt_MultiLineTool::WhatStatus(const TheMultiLine& ML,
0148 const Standard_Integer,
0149 const Standard_Integer)
0150 {
0151 //-- PointsAdded,
0152 //-- NoPointsAdded,
0153 //-- NoApproximation
0154 //-- Approx_PointsAdded
0155 return (ML.WhatStatus());
0156 }
0157
0158 //=================================================================================================
0159
0160 inline TheMultiLine ApproxInt_MultiLineTool::MakeMLBetween(const TheMultiLine& ML,
0161 const Standard_Integer I1,
0162 const Standard_Integer I2,
0163 const Standard_Integer NbPMin)
0164 {
0165
0166 return (ML.MakeMLBetween(I1, I2, NbPMin));
0167 }
0168
0169 //=================================================================================================
0170
0171 inline Standard_Boolean ApproxInt_MultiLineTool::MakeMLOneMorePoint(const TheMultiLine& ML,
0172 const Standard_Integer I1,
0173 const Standard_Integer I2,
0174 const Standard_Integer indbad,
0175 TheMultiLine& OtherLine)
0176 {
0177 return (ML.MakeMLOneMorePoint(I1, I2, indbad, OtherLine));
0178 }
0179
0180 inline void ApproxInt_MultiLineTool::Dump(const TheMultiLine& ML)
0181 {
0182 ML.Dump();
0183 }
0184
0185 //=================================================================================================