summaryrefslogtreecommitdiff
path: root/inc/Law.hxx
blob: 1718cf8dcecb8bd8d7a8221c0e7f02e17f1850d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Law_HeaderFile
#define _Law_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _Handle_Law_BSpFunc_HeaderFile
#include <Handle_Law_BSpFunc.hxx>
#endif
#ifndef _Handle_Law_Linear_HeaderFile
#include <Handle_Law_Linear.hxx>
#endif
#ifndef _Handle_TColStd_HArray1OfReal_HeaderFile
#include <Handle_TColStd_HArray1OfReal.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_Law_BSpline_HeaderFile
#include <Handle_Law_BSpline.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
class Law_BSpFunc;
class Law_Linear;
class TColStd_HArray1OfReal;
class TColStd_Array1OfReal;
class TColStd_Array1OfInteger;
class Law_BSpline;
class Adaptor3d_Curve;
class Law_BSpline;
class Law_Interpolate;
class Law_Function;
class Law_Constant;
class Law_Linear;
class Law_BSpFunc;
class Law_S;
class Law_Interpol;
class Law_Laws;
class Law_Composite;
class Law_BSplineKnotSplitting;
class Law_ListNodeOfLaws;
class Law_ListIteratorOfLaws;


//! Multiple services concerning 1d functions. <br>
class Law  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  
  Standard_EXPORT   static  Handle_Law_BSpFunc MixBnd(const Handle(Law_Linear)& Lin) ;
  
  Standard_EXPORT   static  Handle_TColStd_HArray1OfReal MixBnd(const Standard_Integer Degree,const TColStd_Array1OfReal& Knots,const TColStd_Array1OfInteger& Mults,const Handle(Law_Linear)& Lin) ;
  
  Standard_EXPORT   static  Handle_TColStd_HArray1OfReal MixTgt(const Standard_Integer Degree,const TColStd_Array1OfReal& Knots,const TColStd_Array1OfInteger& Mults,const Standard_Boolean NulOnTheRight,const Standard_Integer Index) ;
  //! Computes a 1 d curve to  reparametrize a curve. Its an <br>
//!          interpolation of NbPoints  points calculated  at quasi <br>
//!          constant abscissa. <br>
  Standard_EXPORT   static  Handle_Law_BSpline Reparametrize(const Adaptor3d_Curve& Curve,const Standard_Real First,const Standard_Real Last,const Standard_Boolean HasDF,const Standard_Boolean HasDL,const Standard_Real DFirst,const Standard_Real DLast,const Standard_Boolean Rev,const Standard_Integer NbPoints) ;
  //! Computes a 1  d curve to  scale  a field of  tangency. <br>
//!          Value is 1. for t = (First+Last)/2 . <br>
//!          If HasFirst value for t = First is VFirst (null derivative). <br>
//!          If HasLast value for t = Last is VLast (null derivative). <br>
  Standard_EXPORT   static  Handle_Law_BSpline Scale(const Standard_Real First,const Standard_Real Last,const Standard_Boolean HasF,const Standard_Boolean HasL,const Standard_Real VFirst,const Standard_Real VLast) ;
  
  Standard_EXPORT   static  Handle_Law_BSpline ScaleCub(const Standard_Real First,const Standard_Real Last,const Standard_Boolean HasF,const Standard_Boolean HasL,const Standard_Real VFirst,const Standard_Real VLast) ;





protected:





private:




friend class Law_BSpline;
friend class Law_Interpolate;
friend class Law_Function;
friend class Law_Constant;
friend class Law_Linear;
friend class Law_BSpFunc;
friend class Law_S;
friend class Law_Interpol;
friend class Law_Laws;
friend class Law_Composite;
friend class Law_BSplineKnotSplitting;
friend class Law_ListNodeOfLaws;
friend class Law_ListIteratorOfLaws;

};





// other Inline functions and methods (like "C++: function call" methods)


#endif