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
133
134
|
// 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_Composite_HeaderFile
#define _Law_Composite_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Law_Composite_HeaderFile
#include <Handle_Law_Composite.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Handle_Law_Function_HeaderFile
#include <Handle_Law_Function.hxx>
#endif
#ifndef _Law_Laws_HeaderFile
#include <Law_Laws.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Law_Function_HeaderFile
#include <Law_Function.hxx>
#endif
#ifndef _GeomAbs_Shape_HeaderFile
#include <GeomAbs_Shape.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class Law_Function;
class Standard_OutOfRange;
class TColStd_Array1OfReal;
class Law_Laws;
//! Loi composite constituee d une liste de lois de <br>
//! ranges consecutifs. <br>
//! Cette implementation un peu lourde permet de reunir <br>
//! en une seule loi des portions de loi construites de <br>
//! facon independantes (par exemple en interactif) et <br>
//! de lancer le walking d un coup a l echelle d une <br>
//! ElSpine. <br>
//! CET OBJET REPOND DONC A UN PROBLEME D IMPLEMENTATION <br>
//! SPECIFIQUE AUX CONGES!!! <br>
class Law_Composite : public Law_Function {
public:
//! Construct an empty Law <br>
Standard_EXPORT Law_Composite();
//! Construct an empty, trimed Law <br>
Standard_EXPORT Law_Composite(const Standard_Real First,const Standard_Real Last,const Standard_Real Tol);
Standard_EXPORT GeomAbs_Shape Continuity() const;
//! Returns the number of intervals for continuity <br>
//! <S>. May be one if Continuity(me) >= <S> <br>
Standard_EXPORT Standard_Integer NbIntervals(const GeomAbs_Shape S) const;
//! Stores in <T> the parameters bounding the intervals <br>
//! of continuity <S>. <br>
//! <br>
//! The array must provide enough room to accomodate <br>
//! for the parameters. i.e. T.Length() > NbIntervals() <br>
Standard_EXPORT void Intervals(TColStd_Array1OfReal& T,const GeomAbs_Shape S) const;
//! Returns the value at parameter X. <br>
Standard_EXPORT Standard_Real Value(const Standard_Real X) ;
//! Returns the value and the first derivative at parameter X. <br>
Standard_EXPORT void D1(const Standard_Real X,Standard_Real& F,Standard_Real& D) ;
//! Returns the value, first and second derivatives <br>
//! at parameter X. <br>
Standard_EXPORT void D2(const Standard_Real X,Standard_Real& F,Standard_Real& D,Standard_Real& D2) ;
//! Returns a law equivalent of <me> between <br>
//! parameters <First> and <Last>. <Tol> is used to <br>
//! test for 3d points confusion. <br>
//! It is usfule to determines the derivatives <br>
//! in these values <First> and <Last> if <br>
//! the Law is not Cn. <br>
Standard_EXPORT Handle_Law_Function Trim(const Standard_Real PFirst,const Standard_Real PLast,const Standard_Real Tol) const;
//! Returns the parametric bounds of the function. <br>
Standard_EXPORT void Bounds(Standard_Real& PFirst,Standard_Real& PLast) ;
//! Returns the elementary function of the composite used <br>
//! to compute at parameter W. <br>
Standard_EXPORT Handle_Law_Function& ChangeElementaryLaw(const Standard_Real W) ;
Standard_EXPORT Law_Laws& ChangeLaws() ;
Standard_EXPORT Standard_Boolean IsPeriodic() const;
Standard_EXPORT void SetPeriodic() ;
DEFINE_STANDARD_RTTI(Law_Composite)
protected:
private:
//! Set the current function. <br>
Standard_EXPORT void Prepare(Standard_Real& W) ;
Standard_Real first;
Standard_Real last;
Handle_Law_Function curfunc;
Law_Laws funclist;
Standard_Boolean periodic;
Standard_Real TFirst;
Standard_Real TLast;
Standard_Real PTol;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|