|
||||
File indexing completed on 2025-01-18 10:04:12
0001 // Created on: 1995-02-03 0002 // Created by: Laurent BOURESCHE 0003 // Copyright (c) 1995-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 #ifndef _Law_Interpol_HeaderFile 0018 #define _Law_Interpol_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_Type.hxx> 0022 0023 #include <Law_BSpFunc.hxx> 0024 #include <TColgp_Array1OfPnt2d.hxx> 0025 0026 0027 class Law_Interpol; 0028 DEFINE_STANDARD_HANDLE(Law_Interpol, Law_BSpFunc) 0029 0030 //! Provides an evolution law that interpolates a set 0031 //! of parameter and value pairs (wi, radi) 0032 class Law_Interpol : public Law_BSpFunc 0033 { 0034 0035 public: 0036 0037 0038 //! Constructs an empty interpolative evolution law. 0039 //! The function Set is used to define the law. 0040 Standard_EXPORT Law_Interpol(); 0041 0042 0043 //! Defines this evolution law by interpolating the set of 2D 0044 //! points ParAndRad. The Y coordinate of a point of 0045 //! ParAndRad is the value of the function at the parameter 0046 //! point given by its X coordinate. 0047 //! If Periodic is true, this function is assumed to be periodic. 0048 //! Warning 0049 //! - The X coordinates of points in the table ParAndRad 0050 //! must be given in ascendant order. 0051 //! - If Periodic is true, the first and last Y coordinates of 0052 //! points in the table ParAndRad are assumed to be 0053 //! equal. In addition, with the second syntax, Dd and Df 0054 //! are also assumed to be equal. If this is not the case, 0055 //! Set uses the first value(s) as last value(s). 0056 Standard_EXPORT void Set (const TColgp_Array1OfPnt2d& ParAndRad, const Standard_Boolean Periodic = Standard_False); 0057 0058 Standard_EXPORT void SetInRelative (const TColgp_Array1OfPnt2d& ParAndRad, const Standard_Real Ud, const Standard_Real Uf, const Standard_Boolean Periodic = Standard_False); 0059 0060 0061 //! Defines this evolution law by interpolating the set of 2D 0062 //! points ParAndRad. The Y coordinate of a point of 0063 //! ParAndRad is the value of the function at the parameter 0064 //! point given by its X coordinate. 0065 //! If Periodic is true, this function is assumed to be periodic. 0066 //! In the second syntax, Dd and Df define the values of 0067 //! the first derivative of the function at its first and last points. 0068 //! Warning 0069 //! - The X coordinates of points in the table ParAndRad 0070 //! must be given in ascendant order. 0071 //! - If Periodic is true, the first and last Y coordinates of 0072 //! points in the table ParAndRad are assumed to be 0073 //! equal. In addition, with the second syntax, Dd and Df 0074 //! are also assumed to be equal. If this is not the case, 0075 //! Set uses the first value(s) as last value(s). 0076 Standard_EXPORT void Set (const TColgp_Array1OfPnt2d& ParAndRad, const Standard_Real Dd, const Standard_Real Df, const Standard_Boolean Periodic = Standard_False); 0077 0078 Standard_EXPORT void SetInRelative (const TColgp_Array1OfPnt2d& ParAndRad, const Standard_Real Ud, const Standard_Real Uf, const Standard_Real Dd, const Standard_Real Df, const Standard_Boolean Periodic = Standard_False); 0079 0080 0081 0082 0083 DEFINE_STANDARD_RTTIEXT(Law_Interpol,Law_BSpFunc) 0084 0085 protected: 0086 0087 0088 0089 0090 private: 0091 0092 0093 0094 0095 }; 0096 0097 0098 0099 0100 0101 0102 0103 #endif // _Law_Interpol_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |