1 -- File: InterferencePolygon2d.cdl
2 -- Created: Mon Sep 28 17:09:45 1992
3 -- Author: Didier PIFFAULT
5 ---Copyright: Matra Datavision 1992
8 generic class InterferencePolygon2d from Intf
10 ToolPolygon2d1 as any; -- as ToolPolygon(Pnt2d, Polygon2d1, Box2d)
12 ToolPolygon2d2 as any) -- as ToolPolygon(Pnt2d, Polygon2d2, Box2d)
13 inherits Interference from Intf
16 ---Purpose: Computes the interference between two polygons or
17 -- the self intersection of a polygon in two
22 SectionPoint from Intf,
23 SeqOfSectionPoint from Intf,
24 TangentZone from Intf,
25 SeqOfTangentZone from Intf
28 raises OutOfRange from Standard
34 Create returns InterferencePolygon2d from Intf;
35 ---Purpose: Constructs an empty interference of Polygon.
38 Create (Obje1: in Polygon2d1 ;Obje2 : in Polygon2d2)
39 returns InterferencePolygon2d from Intf;
40 ---Purpose: Constructs and computes an interference between two Polygons.
43 Create (Obje : in Polygon2d1)
44 returns InterferencePolygon2d from Intf;
45 ---Purpose: Constructs and computes the auto interference of a Polygon.
49 Obje1: Polygon2d1 ;Obje2 : in Polygon2d2);
50 ---Purpose: Computes an interference between two Polygons.
54 Obje : in Polygon2d1);
55 ---Purpose: Computes the self interference of a Polygon.
61 raises OutOfRange from Standard
63 ---Purpose: Gives the geometrical 2d point of the intersection
64 -- point at address <Index> in the interference.
69 Interference (me : in out;
70 Obje1 : in Polygon2d1;
71 Obje2 : in Polygon2d2)
74 Interference (me : in out;
78 Clean (me : in out) is private;
80 Intersect (me : in out;
81 BegO : in Pnt2d from gp;
82 EndO : in Pnt2d from gp;
83 BegT : in Pnt2d from gp;
84 EndT : in Pnt2d from gp)
86 ---Purpose: Computes the intersection between two segments
87 -- <BegO><EndO> et <BegT><EndT>.
90 oClos, tClos : Boolean from Standard;
91 iObje1, iObje2, nbso : Integer from Standard;
92 BeginOfNotClosedObje1: Boolean from Standard;
93 BeginOfNotClosedObje2: Boolean from Standard;
95 end InterferencePolygon2d;