-- Created on: 1991-01-08 -- Created by: Didier Piffault -- Copyright (c) 1991-1999 Matra Datavision -- Copyright (c) 1999-2012 OPEN CASCADE SAS -- -- The content of this file is subject to the Open CASCADE Technology Public -- License Version 6.5 (the "License"). You may not use the content of this file -- except in compliance with the License. Please obtain a copy of the License -- at http://www.opencascade.org and read it completely before using this file. -- -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. -- -- The Original Code and all software distributed under the License is -- distributed on an "AS IS" basis, without warranty of any kind, and the -- Initial Developer hereby disclaims all such warranties, including without -- limitation, any warranties of merchantability, fitness for a particular -- purpose or non-infringement. Please see the License for the specific terms -- and conditions governing the rights and limitations under the License. --- Modified by hl1 (juillet 96) : ajout de SeqOfBox -------------------------------------------------------- --- I n f o r m a t i o n --- --- --- --- The Bnd_Tool class is now in the package Intf. --- -------------------------------------------------------- package Bnd ---Purpose: Supports the Boundings Volumes. A Bounding Volume -- is used to bound a shape to optimising algorithms. -- If a point is outside the Bounding Volume of a -- shape it is also outside the shape. The contrary -- is not necessarily true. -- -- Various classes are then implemented to describe -- the usual Bounding volumes. Not all classes are -- implemented. -- -- in 3D : -- Box -- Implemented -- BoundSortBox -- Implemented -- -- in 2D : -- Box2d -- Implemented -- BoundSortBox2d -- Implemented -- -- ---Level : Public. -- All methods of all classes will be public. uses Standard, TCollection, TColStd, gp, MMgt is class Box; ---Purpose: A box parallel to the main axes. -- A 3D Bounding. class Array1OfBox instantiates Array1 from TCollection (Box from Bnd); class HArray1OfBox instantiates HArray1 from TCollection (Box from Bnd, Array1OfBox from Bnd); class Sphere; class Array1OfSphere instantiates Array1 from TCollection (Sphere from Bnd); class HArray1OfSphere instantiates HArray1 from TCollection (Sphere from Bnd, Array1OfSphere from Bnd); class Box2d; ---Purpose: A rectangle parallel to the main axes. -- A 2D Bounding. class Array1OfBox2d instantiates Array1 from TCollection (Box2d from Bnd); class HArray1OfBox2d instantiates HArray1 from TCollection (Box2d from Bnd, Array1OfBox2d from Bnd); class BoundSortBox2d; ---Purpose: A tool to sort a set of Box2d and compare with an -- other Box2d to find the list of touched items. class BoundSortBox; ---Purpose: A tool to sort a set of Box and compare with an -- other Box to find the list of touched items. class SeqOfBox instantiates Sequence from TCollection (Box from Bnd); ---Purpose: This sequence used to store the bounding boxes of sub-Shapes. --- Optimized boxes (no Gap, no infinity supported) generic class B2x; generic class B3x; class B2d instantiates B2x from Bnd (Real from Standard); -- 2D box with double-precision coordinates class B2f instantiates B2x from Bnd (ShortReal from Standard); -- 2D box with single-precision coordinates class B3d instantiates B3x from Bnd (Real from Standard); -- 3D box with double-precision coordinates class B3f instantiates B3x from Bnd (ShortReal from Standard); -- 3D box with single-precision coordinates end Bnd;