Back to home page

EIC code displayed by LXR

 
 

    


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