7fd59977 |
1 | -- File: BRepExtrema.cdl |
2 | -- Created: Fri Dec 3 15:48:19 1993 |
3 | -- Author: Christophe MARION |
4 | -- <cma@sdsun1> |
5 | ---Copyright: Matra Datavision 1993 |
6 | |
7 | package BRepExtrema |
8 | |
9 | ---Purpose: This package gives tools to compute extrema between |
10 | -- Shapes from BRep. |
11 | |
12 | uses |
13 | Standard, |
14 | StdFail, |
15 | TopoDS, |
16 | GeomAdaptor, |
17 | BRepAdaptor, |
18 | gp, |
19 | Extrema, |
20 | TColStd, |
21 | TopTools, |
22 | TCollection, |
23 | Bnd |
24 | |
25 | is |
26 | |
27 | ---------------------------------------------------------- |
28 | -- Extrema between two Shapes with triangulation. |
29 | ---------------------------------------------------------- |
30 | class Poly; |
31 | |
32 | |
33 | ---------------------------------------------------------- |
34 | -- Extrema between a Point and an Edge. |
35 | ---------------------------------------------------------- |
36 | class ExtPC; |
37 | |
38 | |
39 | ---------------------------------------------------------- |
40 | -- Extrema between two Edges. |
41 | ---------------------------------------------------------- |
42 | class ExtCC; |
43 | |
44 | |
45 | ---------------------------------------------------------- |
46 | -- Extrema between a Point and a Face. |
47 | ---------------------------------------------------------- |
48 | class ExtPF; |
49 | |
50 | |
51 | ---------------------------------------------------------- |
52 | -- Extrema between an Edge and a Face. |
53 | ---------------------------------------------------------- |
54 | class ExtCF; |
55 | |
56 | |
57 | ---------------------------------------------------------- |
58 | -- Extrema between two Faces. |
59 | ---------------------------------------------------------- |
60 | class ExtFF; |
61 | |
62 | |
63 | ---------------------------------------------------------- |
64 | -- |
65 | ---------------------------------------------------------- |
66 | exception UnCompatibleShape inherits DomainError; |
67 | |
68 | |
69 | ---------------------------------------------------------- |
70 | -- enumeration used to describe the type of the support solution: |
71 | -- IsVertex => The solution is a vertex. |
72 | -- IsOnEdge => The solution belongs to an Edge. |
73 | -- IsInFace => The solution is inside a Face. |
74 | |
75 | ---------------------------------------------------------- |
76 | enumeration SupportType is IsVertex, IsOnEdge, IsInFace end SupportType; |
77 | |
78 | |
79 | |
80 | ---------------------------------------------------------- |
81 | -- This class gives tools to compute the minimum distance value |
82 | -- between two shapes and the corresponding couples of solution points. |
83 | |
84 | ---------------------------------------------------------- |
85 | class DistShapeShape; |
86 | |
87 | |
88 | |
89 | |
90 | ---------------------------------------------------------- |
91 | -- This class is used to store a solution on a Shape. |
92 | -- (used only by class DistShapeShape) |
93 | ---------------------------------------------------------- |
94 | class SolutionElem; |
95 | |
96 | |
97 | |
98 | ---------------------------------------------------------- |
99 | -- This sequence is used to store all the solution on each Shape. |
100 | ---------------------------------------------------------- |
101 | class SeqOfSolution instantiates Sequence from TCollection |
102 | ( SolutionElem from BRepExtrema); |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | ---------------------------------------------------------- |
109 | -- This class is used to compute minimum distance between two elementary |
110 | -- Shapes ( Vertex, Edge, Face ) (used only by class DistShapeShape) |
111 | ---------------------------------------------------------- |
112 | private class DistanceSS from BRepExtrema; |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | end BRepExtrema; |