b311480e |
1 | -- Created on: 1994-03-30 |
2 | -- Created by: Laurent BUCHARD |
3 | -- Copyright (c) 1994-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 | -- |
973c2be1 |
8 | -- This library is free software; you can redistribute it and / or modify it |
9 | -- under the terms of the GNU Lesser General Public 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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | generic class SolidClassifier from TopClass |
18 | (TheSolidExplorer as any; |
19 | TheIntersection3d as any) |
20 | |
21 | ---Purpose: Provides an algorithm to classify a point in a solid. |
22 | |
23 | |
24 | |
25 | uses |
26 | Pnt from gp, |
27 | Face from TopoDS, |
28 | Shape from TopoDS, |
29 | State from TopAbs |
30 | |
31 | raises |
32 | DomainError from Standard |
33 | |
34 | |
35 | |
36 | is |
37 | |
38 | Create |
39 | ---Purpose: Empty constructor. |
40 | returns SolidClassifier from TopClass; |
41 | |
42 | |
43 | Create(S : in out TheSolidExplorer; |
44 | P : Pnt from gp; |
45 | Tol : Real from Standard) |
46 | ---Purpose: Constructor to classify the point P with the |
47 | -- tolerance Tol on the solid S. |
48 | returns SolidClassifier from TopClass; |
49 | |
50 | |
51 | Perform(me : in out; |
52 | S : in out TheSolidExplorer; |
53 | P : Pnt from gp; |
54 | Tol : Real from Standard); |
55 | ---Purpose: Classify the point P with the |
56 | -- tolerance Tol on the solid S. |
57 | |
58 | |
59 | Rejected(me) |
60 | ---Purpose: Returns True if the classification has been |
61 | -- computed by rejection. |
62 | -- The State is then OUT. |
63 | returns Boolean from Standard; |
64 | |
65 | |
66 | State(me) returns State from TopAbs; |
67 | ---Purpose: Returns the result of the classification. |
68 | |
69 | IsOnAFace(me) returns Boolean from Standard; |
70 | ---Purpose: Returns True when the point is a point of a face. |
71 | |
72 | Face(me) |
73 | ---Purpose: Returns the face used to determine the |
74 | -- classification. When the state is ON, this is the |
75 | -- face containing the point. |
76 | -- |
77 | -- When Rejected() returns True, Face() has no signification. |
78 | returns Face from TopoDS; |
79 | |
80 | fields |
81 | |
82 | myFace : Face from TopoDS; |
83 | myState : Integer from Standard; -- 1: Rejected 2: IsOnFace 3: In 4: Out |
84 | |
85 | end SolidClassifier; |