1 -- Created on: 2000-11-24
2 -- Created by: Michael KLOKOV
3 -- Copyright (c) 2000-2012 OPEN CASCADE SAS
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.
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.
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.
21 class RoughShapeIntersector from BOPTools
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.
29 Array1OfListOfInteger from TColStd,
30 ListOfInteger from TColStd,
31 HArray2OfIntersectionStatus from BOPTools,
32 IntersectionStatus from BOPTools,
33 HArray1OfBox from Bnd,
34 PShapesDataStructure from BooleanOperations
37 Create(PDS: PShapesDataStructure from BooleanOperations)
38 returns RoughShapeIntersector from BOPTools;
40 -- Initializes algorithm by shapes data structure
45 -- Perform computations.
48 -- Using this function, after the destructor of
49 -- the object pointed by PDS (see constructor)
50 -- was invoked, lead to crash.
54 returns HArray2OfIntersectionStatus from BOPTools;
55 ---C++: return const &
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.
64 IsDone(me) returns Boolean from Standard;
66 -- Returns False if some errors occured during
67 -- computations or method Perform
68 -- was not invoked before,
69 -- otherwise returns True.
76 PropagateForSuccessors1(me: in out; AncestorsIndex1: Integer from Standard;
77 AncestorsIndex2: Integer from Standard;
78 theStatus : IntersectionStatus from BOPTools)
81 PropagateForSuccessors2(me: in out; AncestorsIndex1: Integer from Standard;
82 AncestorsIndex2: Integer from Standard;
83 theStatus : IntersectionStatus from BOPTools)
87 myPDS: PShapesDataStructure from BooleanOperations;
88 myBoundingBoxes: HArray1OfBox from Bnd;
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.
94 myIsDone: Boolean from Standard;
96 end RoughShapeIntersector from BOPTools;