0024662: Removing unused "generic" classes. Part 3
[occt.git] / src / Intf / Intf.cdl
1 -- Created on: 1991-05-23
2 -- Created by: Didier PIFFAULT
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 package Intf 
18
19         ---Purpose: Interference computation  between polygons, lines  and
20         --          polyhedra with only  triangular  facets. These objects
21         --          are polygonal  representations of complex   curves and
22         --          triangulated representations of complex surfaces.
23
24
25 uses Standard, TCollection, TColStd, gp, Bnd, IntAna2d
26
27
28 is
29
30 --  Enumeration :
31
32     enumeration PIType is EXTERNAL, FACE, EDGE, VERTEX;
33     ---Purpose: Describes the different intersection  point types for this
34     --          application.
35
36
37 --  Classes input data :
38
39     deferred class Polygon2d;
40     ---Purpose: Describes the necessary polygon information to compute
41     --          the interferences.
42
43
44     class Array1OfLin instantiates Array1 from TCollection
45                     (Lin from gp);
46     ---Purpose: Describes  a set of Straight Lines  to  intersect with the
47     --          Polyhedron.
48
49
50
51 --      Classes output data :
52
53     class SectionPoint;
54     ---Purpose: Describes a common point between two polygons  or between a
55     --          polygon and a polyhedron.
56
57     class SeqOfSectionPoint instantiates Sequence from TCollection
58                                             (SectionPoint);
59
60
61     class SectionLine;
62     ---Purpose: Describes a common line between two polyhedrons.
63
64     class SeqOfSectionLine instantiates Sequence from TCollection
65                                             (SectionLine);
66
67
68     class TangentZone;
69     ---Purpose: Describes a zone  of tangence between two polygons  or  two
70     --          polyhedrons.
71
72     class SeqOfTangentZone instantiates Sequence from TCollection
73                                             (TangentZone);
74
75
76     deferred class Interference;
77     ---Purpose: Describes  the Interference   computation result  as  three
78     --          sequences   of  points  of  intersection   ,  polylines of
79     --          intersection and zones de tangence.
80
81
82 -- Algorithms :
83
84     class Tool;
85         ---Purpose: The class tool  provide methods to  create Box  or
86         --          Box2d in particular contex. 
87
88
89
90
91     class InterferencePolygon2d;
92     ---Purpose: Computes   the  interference between   two polygons in  2d.
93     --          Result : points of intersections and zones of tangence.
94
95     generic class InterferencePolygon3d;
96     ---Purpose: Computes  the   interference  between  two  polygon  in 3d.
97     --          Section points, common perpendicular and projections.
98
99     generic class InterferencePolygonPolyhedron;
100     ---Purpose: Computes the interference  between a polygon or  a straight
101     --          line and a polyhedron.   Points of intersection  and zones
102     --          of tangence.
103
104     generic class InterferencePolyhedron;
105     ---Purpose: Compute the  interference  between two polyhedron.  Points
106     --          of intersection ,  polylines  of intersection and zones of
107     --          tangence.
108
109
110     --- Package Methods :
111     --  
112
113     PlaneEquation  (P1            : in Pnt from gp;
114                     P2            : in Pnt from gp;
115                     P3            : in Pnt from gp;
116                     NormalVector  : out XYZ from gp;
117                     PolarDistance : out Real from Standard);
118     ---Purpose: Give the plane equation of the triangle <P1> <P2> <P3>.
119
120
121     Contain        (P1            : in Pnt from gp;
122                     P2            : in Pnt from gp;
123                     P3            : in Pnt from gp;
124                     ThePnt        : in Pnt from gp)
125                     returns Boolean;
126     ---Purpose: Compute if the triangle <P1> <P2> <P3> contain <ThePnt>.
127
128
129 end Intf;