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
|
-- File: Geom_OsculatingSurface.cdl
-- Created: Tue May 5 09:20:47 1998
-- Author: Stepan MISHIN
-- <smn@sgi30>
---Copyright: Matra Datavision 1998
private class OsculatingSurface from Geom
---Purpose:
uses Surface from Geom,
SequenceOfReal from TColStd,
SequenceOfBSplineSurface from Geom,
HSequenceOfBSplineSurface from Geom,
Array1OfBoolean from TColStd,
IsoType from GeomAbs,
BSplineSurface from Geom,
HSequenceOfInteger from TColStd
is
Create returns OsculatingSurface from Geom;
Create (BS : Surface from Geom; Tol: Real from Standard)
returns OsculatingSurface from Geom;
--- Purpose : detects if the surface has punctual U or V
-- isoparametric curve along on the bounds of the surface
-- relativly to the tolerance Tol and Builds the corresponding
-- osculating surfaces.
Init(me: in out; BS : Surface from Geom; Tol: Real from Standard)
is static;
BasisSurface (me) returns Surface from Geom
is static;
Tolerance (me) returns Real from Standard
is static;
UOscSurf (me ; U,V : Real ; t : out Boolean from Standard;
L : out BSplineSurface from Geom)
---Purpose: if Standard_True, L is the local osculating surface
-- along U at the point U,V.
returns Boolean from Standard
is static;
VOscSurf (me ; U,V : Real ; t : out Boolean from Standard;
L : out BSplineSurface from Geom)
---Purpose: if Standard_True, L is the local osculating surface
-- along V at the point U,V.
returns Boolean from Standard
is static;
BuildOsculatingSurface (me ; Param : Real;
UKnot,VKnot : Integer;
BS : BSplineSurface from Geom ;
L : out mutable BSplineSurface from Geom)
---Purpose: returns False if the osculating surface can't be built
--
returns Boolean from Standard
is private;
IsQPunctual(me ; S : Surface from Geom;
Param : Real from Standard;
IT : IsoType from GeomAbs;
TolMin,TolMax: Real from Standard)
---Purpose: returns True if the isoparametric is
-- quasi-punctual
returns Boolean from Standard
is private;
HasOscSurf (me) returns Boolean from Standard
is private;
IsAlongU (me) returns Boolean from Standard is private;
IsAlongV (me) returns Boolean from Standard is private;
ClearOsculFlags (me: in out)
is private ;
GetSeqOfL1 (me) returns SequenceOfBSplineSurface from Geom
is private;
---C++: return const&
GetSeqOfL2 (me) returns SequenceOfBSplineSurface from Geom
is private;
---C++: return const&
fields
myBasisSurf : Surface from Geom;
myTol : Real from Standard;
myOsculSurf1 : HSequenceOfBSplineSurface from Geom;
myOsculSurf2 : HSequenceOfBSplineSurface from Geom;
myKdeg : HSequenceOfInteger from TColStd;
-- myKdeg2 : SequenceOfInteger from TColStd;
myAlong : Array1OfBoolean from TColStd;
end OsculatingSurface;
|