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
|
-- File: StdPrs_PoleCurve.cdl
-- Created: Mon Jul 24 15:08:55 1995
-- Author: Modelistation
-- <model@metrox>
---Copyright: Matra Datavision 1995
class PoleCurve from StdPrs
inherits Root from Prs3d
---Purpose: A framework to provide display of Bezier or BSpline curves.
uses
Curve from Adaptor3d,
Presentation from Prs3d,
Drawer from Prs3d,
Length from Quantity
is
--- Purpose:
Add(myclass; aPresentation: Presentation from Prs3d;
aCurve : Curve from Adaptor3d;
aDrawer : Drawer from Prs3d);
---Purpose: Defines display of BSpline and Bezier curves.
-- Adds the 3D curve aCurve to the
-- StdPrs_PoleCurve algorithm. This shape is found in
-- the presentation object aPresentation, and its display
-- attributes are set in the attribute manager aDrawer.
-- The curve object from Adaptor3d provides data from
-- a Geom curve. This makes it possible to use the
-- surface in a geometric algorithm.
Match(myclass; X,Y,Z : Length from Quantity;
aDistance: Length from Quantity;
aCurve : Curve from Adaptor3d;
aDrawer : Drawer from Prs3d)
returns Boolean from Standard;
---Purpose: returns true if the distance between the point (X,Y,Z) and the
-- broken line made of the poles is less then aDistance.
Pick(myclass; X,Y,Z : Length from Quantity;
aDistance: Length from Quantity;
aCurve : Curve from Adaptor3d;
aDrawer : Drawer from Prs3d)
returns Integer from Standard;
---Purpose: returns the pole the most near of the point (X,Y,Z) and
-- returns its range. The distance between the pole and
-- (X,Y,Z) must be less then aDistance. If no pole corresponds, 0 is returned.
end PoleCurve from StdPrs;
|