2 -- Created: Tue Feb 18 17:18:30 1992
3 -- Author: Christophe MARION
4 ---Copyright: Matra Datavision 1992
7 --- Purpose: In order to have the precision required in
8 -- industrial design, drawings need to offer the
9 -- possibility of removing lines, which are hidden
10 -- in a given projection. To do this, the Hidden
11 -- Line Removal component provides two
12 -- algorithms: HLRBRep_Algo and HLRBRep_PolyAlgo.
13 -- These algorithms remove or indicate lines
14 -- hidden by surfaces. For a given projection, they
15 -- calculate a set of lines characteristic of the
16 -- object being represented. They are also used
17 -- in conjunction with extraction utilities, which
18 -- reconstruct a new, simplified shape from a
19 -- selection of calculation results. This new shape
20 -- is made up of edges, which represent the lines
21 -- of the visualized shape in a plane. This plane is the projection plane.
22 -- HLRBRep_Algo takes into account the shape
23 -- itself. HLRBRep_PolyAlgo works with a
24 -- polyhedral simplification of the shape. When
25 -- you use HLRBRep_Algo, you obtain an exact
26 -- result, whereas, when you use
27 -- HLRBRep_PolyAlgo, you reduce computation
28 -- time but obtain polygonal segments.
49 class ListOfBPoint instantiates List from TCollection
50 (BiPoint from HLRAlgo);
53 ---Purpose: All the PolyData of a Shell
55 class PolyInternalData;
56 ---Purpose: to Update OutLines.
58 class PolyInternalSegment;
59 ---Purpose: to Update OutLines.
61 class PolyInternalNode;
62 ---Purpose: to Update OutLines.
65 ---Purpose: Data structure of a set of Triangles.
68 ---Purpose: Data structure of a set of Hiding Triangles.
71 ---Purpose: Data structure of a triangle.
73 class Array1OfPHDat instantiates Array1 from TCollection
74 (PolyHidingData from HLRAlgo);
76 class HArray1OfPHDat instantiates HArray1 from TCollection
77 (PolyHidingData from HLRAlgo,
78 Array1OfPHDat from HLRAlgo);
80 class Array1OfPISeg instantiates Array1 from TCollection
81 (PolyInternalSegment from HLRAlgo);
83 class HArray1OfPISeg instantiates HArray1 from TCollection
84 (PolyInternalSegment from HLRAlgo,
85 Array1OfPISeg from HLRAlgo);
87 class Array1OfPINod instantiates Array1 from TCollection
88 (PolyInternalNode from HLRAlgo);
90 class HArray1OfPINod instantiates HArray1 from TCollection
91 (PolyInternalNode from HLRAlgo,
92 Array1OfPINod from HLRAlgo);
94 class Array1OfTData instantiates Array1 from TCollection
95 (TriangleData from HLRAlgo);
97 class HArray1OfTData instantiates HArray1 from TCollection
98 (TriangleData from HLRAlgo,
99 Array1OfTData from HLRAlgo);
102 ---Purpose: to remove Hidden lines on Triangulations.
105 ---Purpose: This class describes the visible-hidden Status of
106 -- an Edge and its parametric bounds.
109 ---Purpose: To transform and project Points and Planes.
112 ---Purpose: Parameter and State (above, on or under the face).
115 ---Purpose: A coincidence describes the geometry of the edge
116 -- of the hiding face around the intersection.
118 class Interference instantiates Interference from TopBas
119 (Intersection from HLRAlgo,
120 Coincidence from HLRAlgo);
122 class InterferenceList instantiates List from TCollection
123 (Interference from HLRAlgo);
126 ---Purpose: A set of oriented Edges. (A wire).
129 ---Purpose: A set of Wires. (A face).
132 ---Purpose: Iterator on the visible or hidden parts of an
135 UpdateMinMax (x,y,z : Real from Standard;
136 Min : Address from Standard;
137 Max : Address from Standard);
139 EnlargeMinMax (tol : Real from Standard;
140 Min : Address from Standard;
141 Max : Address from Standard);
143 InitMinMax (Big : Real from Standard;
144 Min : Address from Standard;
145 Max : Address from Standard);
147 EncodeMinMax (Min : Address from Standard;
148 Max : Address from Standard;
149 MinMax : Address from Standard);
151 SizeBox (Min : Address from Standard;
152 Max : Address from Standard)
153 returns Real from Standard;
155 DecodeMinMax (MinMax : Address from Standard;
156 Min : Address from Standard;
157 Max : Address from Standard);
159 CopyMinMax (IMin : Address from Standard;
160 IMax : Address from Standard;
161 OMin : Address from Standard;
162 OMax : Address from Standard);
164 AddMinMax (IMin : Address from Standard;
165 IMax : Address from Standard;
166 OMin : Address from Standard;
167 OMax : Address from Standard);