0024727: Convertation of the generic classes to the non-generic. Part 3
[occt.git] / src / IntPatch / IntPatch_InterferencePolyhedron.cdl
CommitLineData
b311480e 1-- Created on: 1992-09-29
2-- Created by: Didier PIFFAULT
3-- Copyright (c) 1992-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 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
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
47cbf134 17class InterferencePolyhedron from IntPatch inherits Interference from Intf
7fd59977 18
19 ---Purpose: Computes the interference between two polyhedra or the
20 -- self interference of a polyhedron.
21
22uses Pnt from gp,
41194117 23 XYZ from gp,
7fd59977 24 Box from Bnd,
25 SectionPoint from Intf,
26 SeqOfSectionPoint from Intf,
27 SectionLine from Intf,
28 SeqOfSectionLine from Intf,
29 TangentZone from Intf,
47cbf134 30 SeqOfTangentZone from Intf,
31 Polyhedron from IntPatch,
32 PolyhedronTool from IntPatch
7fd59977 33
34is
35
36-- Interface :
37
47cbf134 38 Create returns InterferencePolyhedron from IntPatch;
7fd59977 39 ---Purpose: Constructs an empty interference of Polyhedron.
40
47cbf134 41 Create (Obje1 : in Polyhedron from IntPatch;
42 Obje2 : in Polyhedron from IntPatch)
43 returns InterferencePolyhedron from IntPatch;
7fd59977 44 ---Purpose: Constructs and computes an interference between the two
45 -- Polyhedra.
46
47cbf134 47 Create (Obje : in Polyhedron from IntPatch)
48 returns InterferencePolyhedron from IntPatch;
7fd59977 49 ---Purpose: Constructs and computes the self interference of a
50 -- Polyhedron.
51
52 Perform (me : in out;
47cbf134 53 Obje1 : in Polyhedron from IntPatch;
54 Obje2 : in Polyhedron from IntPatch);
7fd59977 55 ---Purpose: Computes the interference between the two Polyhedra.
56
57 Perform (me : in out;
47cbf134 58 Obje : in Polyhedron from IntPatch);
7fd59977 59 ---Purpose: Computes the self interference of a Polyhedron.
60
61-- Implementation :
62
63 Interference (me : in out;
47cbf134 64 Obje1 : in Polyhedron from IntPatch)
7fd59977 65 is private;
66 Interference (me : in out;
47cbf134 67 Obje1 : in Polyhedron from IntPatch;
68 Obje2 : in Polyhedron from IntPatch)
7fd59977 69 is private;
70 ---Purpose: Compares the bounding volumes between the facets of <Obje1>
71 -- and the facets of <Obje2> and intersects the facets when the
72 -- bounding volumes have a common part.
73
74 Intersect (me : in out;
75 TriF : in Integer from Standard;
47cbf134 76 Obje1 : in Polyhedron from IntPatch;
7fd59977 77 TriS : in Integer from Standard;
47cbf134 78 Obje2 : in Polyhedron from IntPatch)
7fd59977 79 is private;
80 ---Purpose: Computes the intersection between the facet <Tri1> of
81 -- <FirstPol> and the facet <Tri2> of <SecondPol>.
82
83 TangentZoneValue
84 (me;
85 TheTZ : in out TangentZone from Intf;
47cbf134 86 Obje1 : Polyhedron from IntPatch;
7fd59977 87 Tri1 : Integer from Standard;
47cbf134 88 Obje2 : Polyhedron from IntPatch;
7fd59977 89 Tri2 : Integer from Standard)
90 returns Boolean from Standard
91 is private;
92 ---Purpose: Computes the zone of tangence between the facet <Tri1> of
93 -- <FirstPol> and the facet <Tri2> of <SecondPol>.
94
41194117 95 CoupleCharacteristics (me: in out;
47cbf134 96 FirstPol: Polyhedron from IntPatch;
97 SeconPol: Polyhedron from IntPatch) is private;
41194117
K
98fields
99 OI : Integer from Standard[3]; -- index des sommets de l objet
100 TI : Integer from Standard[3]; -- index des sommets du tool
101 dpOpT : Real from Standard[3, 3]; -- distance point Objet - point Tool
102 dpOeT : Real from Standard[3, 3]; -- distance point Objet - edge Tool
103 deOpT : Real from Standard[3, 3]; -- distance edge Objet - point Tool
104 voo : XYZ from gp[3]; -- vecteur point point Obje
105 vtt : XYZ from gp[3]; -- vecteur point point Tool
106 Incidence: Real from Standard; -- angle entre les deux plans
7fd59977 107
108end InterferencePolyhedron;