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
135
136
137
138
139
140
141
142
143
144
145
146
|
// 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 _IntTools_Root_HeaderFile
#define _IntTools_Root_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _TopAbs_State_HeaderFile
#include <TopAbs_State.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
//! The class is to describe the root of <br>
//! function of one variable for Edge/Edge <br>
//! and Edge/Surface algorithms. <br>
class IntTools_Root {
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);
}
//! Empty constructor <br>
Standard_EXPORT IntTools_Root();
//! Initializes my by range of parameters <br>
//! and type of root <br>
Standard_EXPORT IntTools_Root(const Standard_Real aRoot,const Standard_Integer aType);
//! Sets the Root's value <br>
Standard_EXPORT void SetRoot(const Standard_Real aRoot) ;
//! Sets the Root's Type <br>
Standard_EXPORT void SetType(const Standard_Integer aType) ;
//! Set the value of the state before the root <br>
//! (at t=Root-dt) <br>
Standard_EXPORT void SetStateBefore(const TopAbs_State aState) ;
//! Set the value of the state after the root <br>
//! (at t=Root-dt) <br>
Standard_EXPORT void SetStateAfter(const TopAbs_State aState) ;
//! Not used in Edge/Edge algorithm <br>
Standard_EXPORT void SetLayerHeight(const Standard_Real aHeight) ;
//! Sets the interval from which the Root was <br>
//! found [t1,t2] and the corresponding values <br>
//! of the function on the bounds f(t1), f(t2). <br>
Standard_EXPORT void SetInterval(const Standard_Real t1,const Standard_Real t2,const Standard_Real f1,const Standard_Real f2) ;
//! Returns the Root value <br>
Standard_EXPORT Standard_Real Root() const;
//! Returns the type of the root <br>
//! =0 - Simple (was found by bisection method); <br>
//! =2 - Smart when f1=0, f2!=0 or vice versa <br>
//! (was found by Fibbonacci method); <br>
//! =1 - Pure (pure zero for all t [t1,t2] ); <br>
Standard_EXPORT Standard_Integer Type() const;
//! Returns the state before the root <br>
Standard_EXPORT TopAbs_State StateBefore() const;
//! Returns the state after the root <br>
Standard_EXPORT TopAbs_State StateAfter() const;
//! Not used in Edge/Edge algorithm <br>
Standard_EXPORT Standard_Real LayerHeight() const;
//! Returns the validity flag for the root, <br>
//! True if <br>
//! myStateBefore==TopAbs_OUT && myStateAfter==TopAbs_IN or <br>
//! myStateBefore==TopAbs_OUT && myStateAfter==TopAbs_ON or <br>
//! myStateBefore==TopAbs_ON && myStateAfter==TopAbs_OUT or <br>
//! myStateBefore==TopAbs_IN && myStateAfter==TopAbs_OUT . <br>
//! For other cases it returns False. <br>
Standard_EXPORT Standard_Boolean IsValid() const;
//! Returns the values of interval from which the Root was <br>
//! found [t1,t2] and the corresponding values <br>
//! of the function on the bounds f(t1), f(t2). <br>
Standard_EXPORT void Interval(Standard_Real& t1,Standard_Real& t2,Standard_Real& f1,Standard_Real& f2) const;
protected:
private:
Standard_Real myRoot;
Standard_Integer myType;
Standard_Real myLayerHeight;
TopAbs_State myStateBefore;
TopAbs_State myStateAfter;
Standard_Real myt1;
Standard_Real myt2;
Standard_Real myf1;
Standard_Real myf2;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|