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
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
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.
25 uses Standard, TCollection, TColStd, gp, Bnd, IntAna2d
32 enumeration PIType is EXTERNAL, FACE, EDGE, VERTEX;
33 ---Purpose: Describes the different intersection point types for this
37 -- Classes input data :
39 deferred class Polygon2d;
40 ---Purpose: Describes the necessary polygon information to compute
44 class Array1OfLin instantiates Array1 from TCollection
46 ---Purpose: Describes a set of Straight Lines to intersect with the
51 -- Classes output data :
54 ---Purpose: Describes a common point between two polygons or between a
55 -- polygon and a polyhedron.
57 class SeqOfSectionPoint instantiates Sequence from TCollection
62 ---Purpose: Describes a common line between two polyhedrons.
64 class SeqOfSectionLine instantiates Sequence from TCollection
69 ---Purpose: Describes a zone of tangence between two polygons or two
72 class SeqOfTangentZone instantiates Sequence from TCollection
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.
85 ---Purpose: The class tool provide methods to create Box or
86 -- Box2d in particular contex.
91 class InterferencePolygon2d;
92 ---Purpose: Computes the interference between two polygons in 2d.
93 -- Result : points of intersections and zones of tangence.
95 generic class InterferencePolygon3d;
96 ---Purpose: Computes the interference between two polygon in 3d.
97 -- Section points, common perpendicular and projections.
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
104 generic class InterferencePolyhedron;
105 ---Purpose: Compute the interference between two polyhedron. Points
106 -- of intersection , polylines of intersection and zones of
110 --- Package Methods :
113 PlaneEquation (P1 : 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>.
121 Contain (P1 : in Pnt from gp;
124 ThePnt : in Pnt from gp)
126 ---Purpose: Compute if the triangle <P1> <P2> <P3> contain <ThePnt>.