blob: d8d33d6b5d95600dc8c0dcde170d5f7acd60c7dc (
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
|
-- File: Hatch.cdl
-- Created: Tue Aug 18 17:59:54 1992
-- Author: Remi Lequette
-- <rle@phylox>
---Copyright: Matra Datavision 1992
package Hatch
---Purpose: The Hatch package provides algorithm to compute
-- cross-hatchings on a 2D face.
--
-- The Hatcher algorithms stores a set of lines in
-- the 2D plane.
--
-- The user stores lines in the Hatcher and afterward
-- trim them with other lines.
--
-- At any moment when trimming the user can ask for
-- any line if it is intersected and how many
-- intervals are defined on the line by the trim.
uses
Standard,
TCollection,
gp
is
enumeration LineForm is
---Purpose: Form of a trimmed line
XLINE, YLINE, ANYLINE
end LineForm;
private class Parameter;
---Purpose: Used by the Hatcher to store a parameter on a
-- line.
private class SequenceOfParameter instantiates Sequence from TCollection
(Parameter from Hatch);
private class Line;
---Purpose: Used by the Hatcher to store a line.
private class SequenceOfLine instantiates Sequence from TCollection
(Line from Hatch);
class Hatcher;
---Purpose: The Hatching algorithm.
end Hatch;
|