0024662: Removing unused "generic" classes. Part 3
[occt.git] / src / Intf / Intf_ToolPolyhedron.cdl
1 -- Created on: 1991-09-18
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 generic class ToolPolyhedron from Intf (Polyhedron as any)
18
19     ---Purpose: Describes the signature  of  a polyedral surface with  only
20     --          triangular facets and the information  necessary to compute
21     --          the interferences.
22
23
24 uses    XYZ from gp,
25         Pnt from gp,
26         Box from Bnd,
27         HArray1OfBox from Bnd
28
29
30 raises  OutOfRange from Standard
31
32
33 is  Bounding       (myclass; thePolyh : Polyhedron)
34                     returns Box from Bnd;
35     ---Purpose: Returns the bounding box of the ToolPolyhedron.
36
37     ComponentsBounding
38                    (myclass; thePolyh : Polyhedron)
39                     returns HArray1OfBox from Bnd;
40     ---Purpose: Returns the array of boxes. The box <n> corresponding 
41     --          to the triangle <n>.
42
43
44     DeflectionOverEstimation
45                    (myclass; thePolyh : Polyhedron)
46                     returns Real from Standard;
47     ---Purpose: Returns the tolerance of the polygon.
48
49
50 -- Structure needings :
51
52     NbTriangles    (myclass; thePolyh : Polyhedron) 
53                     returns Integer from Standard;
54     ---Purpose: Returns the number of triangles in this polyedron.
55
56
57     Triangle       (myclass; thePolyh : Polyhedron;
58                     Index     : in Integer from Standard;
59                     P1,P2,P3  : out Integer from Standard)
60                     raises OutOfRange from Standard;
61     ---Purpose: Returns the indices  of  the 3 points of  the triangle of
62     --          address Index in the ToolPolyhedron.
63
64
65     Point          (myclass; thePolyh : Polyhedron;
66                     Index : in Integer)
67                     returns Pnt from gp
68                     raises OutOfRange from Standard;
69     ---Purpose: Returns the point of index i in the polyedron.
70
71
72     TriConnex      (myclass; thePolyh : Polyhedron;
73                     Triang       : in Integer;
74                     Pivot,Pedge  : in Integer;
75                     TriCon       : out Integer;
76                     OtherPedge   : out Integer)
77                     returns Integer
78                     raises OutOfRange from Standard;
79     ---Purpose: Returns  the  triangle <Tricon> connected  to  the triangle
80     --          <Triang> by  the edge <Pivot><Pedge>.   The  third point of
81     --          the connected triangle is returned in <OtherPedge> (Used to
82     --          turn  around a vertex).   When the edge  <Pivot><Pedge>  is
83     --          free  (no  connected triangle) <Tricon> is  null.   In this
84     --          case the function returns the triangle on the free bound of
85     --          the polyhedron connected to <Triang> by vertex <Pivot>.
86
87
88
89 end ToolPolyhedron;