Warning, /include/opencascade/AppBlend_AppSurf.lxx is written in an unsupported language. File is not indexed.
0001 // Copyright (c) 1995-1999 Matra Datavision
0002 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014
0015 #include <StdFail_NotDone.hxx>
0016 #include <TColgp_HArray2OfPnt.hxx>
0017 #include <TColgp_HArray1OfPnt2d.hxx>
0018 #include <TColStd_HArray2OfReal.hxx>
0019 #include <TColStd_HArray1OfReal.hxx>
0020 #include <TColStd_HArray1OfInteger.hxx>
0021
0022
0023 inline Standard_Boolean AppBlend_AppSurf::IsDone() const
0024 {
0025 return done;
0026 }
0027
0028
0029 inline Standard_Integer AppBlend_AppSurf::UDegree() const
0030 {
0031 if (!done) {throw StdFail_NotDone();}
0032 return udeg;
0033 }
0034
0035 inline Standard_Integer AppBlend_AppSurf::VDegree() const
0036 {
0037 if (!done) {throw StdFail_NotDone();}
0038 return vdeg;
0039 }
0040
0041 inline const TColgp_Array2OfPnt& AppBlend_AppSurf::SurfPoles() const
0042 {
0043 if (!done) {throw StdFail_NotDone();}
0044 return tabPoles->Array2();
0045 }
0046
0047 inline const TColStd_Array2OfReal& AppBlend_AppSurf::SurfWeights() const
0048 {
0049 if (!done) {throw StdFail_NotDone();}
0050 return tabWeights->Array2();
0051 }
0052
0053
0054 inline const TColStd_Array1OfReal& AppBlend_AppSurf::SurfUKnots() const
0055 {
0056 if (!done) {throw StdFail_NotDone();}
0057 return tabUKnots->Array1();
0058 }
0059
0060 inline const TColStd_Array1OfReal& AppBlend_AppSurf::SurfVKnots() const
0061 {
0062 if (!done) {throw StdFail_NotDone();}
0063 return tabVKnots->Array1();
0064 }
0065
0066 inline const TColStd_Array1OfInteger& AppBlend_AppSurf::SurfUMults() const
0067 {
0068 if (!done) {throw StdFail_NotDone();}
0069 return tabUMults->Array1();
0070 }
0071
0072 inline const TColStd_Array1OfInteger& AppBlend_AppSurf::SurfVMults() const
0073 {
0074 if (!done) {throw StdFail_NotDone();}
0075 return tabVMults->Array1();
0076 }
0077
0078 inline Standard_Integer AppBlend_AppSurf::NbCurves2d () const
0079 {
0080 if (!done) {throw StdFail_NotDone();}
0081 return seqPoles2d.Length();
0082 }
0083
0084 inline Standard_Integer AppBlend_AppSurf::Curves2dDegree() const
0085 {
0086 if (!done) {throw StdFail_NotDone();}
0087 if (seqPoles2d.Length() == 0) {throw Standard_DomainError();}
0088 return vdeg;
0089 }
0090
0091 inline const TColgp_Array1OfPnt2d& AppBlend_AppSurf::
0092 Curve2dPoles(const Standard_Integer Index) const
0093 {
0094 if (!done) {throw StdFail_NotDone();}
0095 if (seqPoles2d.Length() == 0) {throw Standard_DomainError();}
0096 return seqPoles2d(Index)->Array1();
0097 }
0098
0099 inline const TColStd_Array1OfReal& AppBlend_AppSurf::Curves2dKnots () const
0100 {
0101 if (!done) {throw StdFail_NotDone();}
0102 if (seqPoles2d.Length() == 0) {throw Standard_DomainError();}
0103 return tabVKnots->Array1();
0104 }
0105
0106 inline const TColStd_Array1OfInteger& AppBlend_AppSurf::Curves2dMults () const
0107 {
0108 if (!done) {throw StdFail_NotDone();}
0109 if (seqPoles2d.Length() == 0) {throw Standard_DomainError();}
0110 return tabVMults->Array1();
0111 }
0112
0113 inline void AppBlend_AppSurf::TolReached (Standard_Real& Tol3d,
0114 Standard_Real& Tol2d) const
0115 {
0116 if (!done) {throw StdFail_NotDone();}
0117 Tol3d = tol3dreached;
0118 Tol2d = tol2dreached;
0119 }
0120