0023024: Update headers of OCCT files
[occt.git] / src / BOPTools / BOPTools_RoughShapeIntersector.cdl
CommitLineData
b311480e 1-- Created on: 2000-11-24
2-- Created by: Michael KLOKOV
3-- Copyright (c) 2000-2012 OPEN CASCADE SAS
4--
5-- The content of this file is subject to the Open CASCADE Technology Public
6-- License Version 6.5 (the "License"). You may not use the content of this file
7-- except in compliance with the License. Please obtain a copy of the License
8-- at http://www.opencascade.org and read it completely before using this file.
9--
10-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12--
13-- The Original Code and all software distributed under the License is
14-- distributed on an "AS IS" basis, without warranty of any kind, and the
15-- Initial Developer hereby disclaims all such warranties, including without
16-- limitation, any warranties of merchantability, fitness for a particular
17-- purpose or non-infringement. Please see the License for the specific terms
18-- and conditions governing the rights and limitations under the License.
19
7fd59977 20
21class RoughShapeIntersector from BOPTools
22
23 ---Purpose: The class RoughShapeIntersector describes the algorithm of
24 -- intersection of bounding boxes of
25 -- shapes stored in ShapesDataStructure.
26 -- It stores statuses of intersection in 2 dimension array.
27
28uses
29 Array1OfListOfInteger from TColStd,
30 ListOfInteger from TColStd,
31 HArray2OfIntersectionStatus from BOPTools,
32 IntersectionStatus from BOPTools,
33 HArray1OfBox from Bnd,
34 PShapesDataStructure from BooleanOperations
35is
36
37 Create(PDS: PShapesDataStructure from BooleanOperations)
38 returns RoughShapeIntersector from BOPTools;
39 ---Purpose:
40 -- Initializes algorithm by shapes data structure
41 --
42
43 Perform(me: in out);
44 ---Purpose:
45 -- Perform computations.
46 --
47 -- Warning:
48 -- Using this function, after the destructor of
49 -- the object pointed by PDS (see constructor)
50 -- was invoked, lead to crash.
51 --
52
53 TableOfStatus(me)
54 returns HArray2OfIntersectionStatus from BOPTools;
55 ---C++: return const &
56 ---Purpose:
57 -- Returns 2 dimension array of status flags.
58 -- First indices of the array corresponds to indices of
59 -- subshapes of Object of myPDS.
60 -- Second indices of array corresponds to indices of
61 -- subshapes of Tool of myPDS.
62 --
63
64 IsDone(me) returns Boolean from Standard;
65 ---Purpose:
66 -- Returns False if some errors occured during
67 -- computations or method Perform
68 -- was not invoked before,
69 -- otherwise returns True.
70 --
71
72 -- private methods
73 Prepare(me: in out)
74 is private;
75
76 PropagateForSuccessors1(me: in out; AncestorsIndex1: Integer from Standard;
77 AncestorsIndex2: Integer from Standard;
78 theStatus : IntersectionStatus from BOPTools)
79 is private;
80
81 PropagateForSuccessors2(me: in out; AncestorsIndex1: Integer from Standard;
82 AncestorsIndex2: Integer from Standard;
83 theStatus : IntersectionStatus from BOPTools)
84 is private;
85
86fields
87 myPDS: PShapesDataStructure from BooleanOperations;
88 myBoundingBoxes: HArray1OfBox from Bnd;
89
90 myTableOfStatus: HArray2OfIntersectionStatus from BOPTools;
91 ---Purpose: First indices of array corresponds to indices of subshapes of Object of myPDS.
92 -- Second indices of array corresponds to indices of subshapes of Tool of myPDS.
93
94 myIsDone: Boolean from Standard;
95
96end RoughShapeIntersector from BOPTools;
97