Warning, /include/opencascade/Approx_SweepApproximation.lxx is written in an unsupported language. File is not indexed.
0001 // Created on: 1997-06-26
0002 // Created by: Philippe MANGIN
0003 // Copyright (c) 1997-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 <StdFail_NotDone.hxx>
0018 #include <TColgp_HArray2OfPnt.hxx>
0019 #include <TColgp_HArray1OfPnt2d.hxx>
0020 #include <TColStd_HArray2OfReal.hxx>
0021 #include <TColStd_HArray1OfReal.hxx>
0022 #include <TColStd_HArray1OfInteger.hxx>
0023
0024 inline Standard_Boolean Approx_SweepApproximation::IsDone() const
0025 {
0026 return done;
0027 }
0028
0029
0030 inline Standard_Integer Approx_SweepApproximation::UDegree() const
0031 {
0032 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0033 return udeg;
0034 }
0035
0036
0037 inline Standard_Integer Approx_SweepApproximation::VDegree() const
0038 {
0039 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0040 return vdeg;
0041 }
0042
0043
0044 inline const TColgp_Array2OfPnt& Approx_SweepApproximation::SurfPoles() const
0045 {
0046 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0047 return tabPoles->Array2();
0048 }
0049
0050
0051 inline const TColStd_Array2OfReal& Approx_SweepApproximation::SurfWeights() const
0052 {
0053 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0054 return tabWeights->Array2();
0055 }
0056
0057
0058 inline const TColStd_Array1OfReal& Approx_SweepApproximation::SurfUKnots() const
0059 {
0060 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0061 return tabUKnots->Array1();
0062 }
0063
0064
0065 inline const TColStd_Array1OfReal& Approx_SweepApproximation::SurfVKnots() const
0066 {
0067 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0068 return tabVKnots->Array1();
0069 }
0070
0071
0072 inline const TColStd_Array1OfInteger& Approx_SweepApproximation::SurfUMults() const
0073 {
0074 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0075 return tabUMults->Array1();
0076 }
0077
0078
0079 inline const TColStd_Array1OfInteger& Approx_SweepApproximation::SurfVMults() const
0080 {
0081 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0082 return tabVMults->Array1();
0083 }
0084
0085
0086 inline Standard_Integer Approx_SweepApproximation::NbCurves2d() const
0087 {
0088 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0089 return Num2DSS;
0090 }
0091
0092
0093 inline Standard_Integer Approx_SweepApproximation::Curves2dDegree() const
0094 {
0095 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0096 if (seqPoles2d.Length() == 0) {throw Standard_DomainError();}
0097 return deg2d;
0098 }
0099
0100
0101 inline const TColgp_Array1OfPnt2d& Approx_SweepApproximation::Curve2dPoles(const Standard_Integer Index) const
0102 {
0103 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0104 if (seqPoles2d.Length() == 0) {throw Standard_DomainError();}
0105 return seqPoles2d(Index)->Array1();
0106 }
0107
0108
0109 inline const TColStd_Array1OfReal& Approx_SweepApproximation::Curves2dKnots() const
0110 {
0111 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0112 if (seqPoles2d.Length() == 0) {throw Standard_DomainError();}
0113 return tab2dKnots->Array1();
0114 }
0115
0116
0117 inline const TColStd_Array1OfInteger& Approx_SweepApproximation::Curves2dMults() const
0118 {
0119 if (!done) {throw StdFail_NotDone(" Approx_SweepApproximation");}
0120 if (seqPoles2d.Length() == 0) {throw Standard_DomainError();}
0121 return tab2dMults->Array1();
0122 }
0123
0124 /*
0125 inline void Approx_SweepApproximation::TolReached(Standard_Real& Tol3d,Standard_Real& Tol2d) const
0126 {
0127
0128 }*/