1 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
3 -- This file is part of Open CASCADE Technology software library.
5 -- This library is free software; you can redistribute it and/or modify it under
6 -- the terms of the GNU Lesser General Public License version 2.1 as published
7 -- by the Free Software Foundation, with special exception defined in the file
8 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 -- distribution for complete text of the license and disclaimer of any warranty.
11 -- Alternatively, this file may be used under the terms of Open CASCADE
12 -- commercial license or contractual agreement.
14 deferred class SensitivePoly from Select3D
15 inherits SensitiveEntity from Select3D
17 ---Purpose: Sensitive Entity to make a face selectable.
18 -- In some cases this class can raise Standard_ConstructionError and
19 -- Standard_OutOfRange exceptions from its member Select3D_PointData
23 EntityOwner from SelectBasics,
24 Projector from Select3D,
25 ListOfBox2d from SelectBasics,
26 Array1OfPnt from TColgp,
27 HArray1OfPnt from TColgp,
28 Array1OfPnt2d from TColgp,
30 PointData from Select3D
33 ConstructionError from Standard,
34 OutOfRange from Standard
38 Initialize (OwnerId : EntityOwner from SelectBasics;
39 ThePoints : Array1OfPnt from TColgp)
40 returns mutable SensitivePoly;
42 ---Purpose: Constructs a sensitive face object defined by the
43 -- owner OwnerId, the array of points ThePoints, and
44 -- the sensitivity type Sensitivity.
45 -- The array of points is the outer polygon of the geometric face.
47 Initialize (OwnerId : EntityOwner from SelectBasics;
48 ThePoints : HArray1OfPnt from TColgp)
49 returns mutable SensitivePoly;
51 ---Purpose: Constructs a sensitive face object defined by the
52 -- owner OwnerId, the array of points ThePoints, and
53 -- the sensitivity type Sensitivity.
54 -- The array of points is the outer polygon of the geometric face.
56 Initialize(OwnerId : EntityOwner from SelectBasics;
57 NbOfPoints : Integer = 6)
58 returns mutable SensitivePoly;
60 ---Purpose: Constructs the sensitive circle object defined by the
61 -- owner OwnerId, the circle Circle, the Boolean
62 -- FilledCircle and the number of points NbOfPoints.
64 Project (me:mutable;aProjector : Projector from Select3D) is redefined virtual;
66 ---Purpose: projection of the sensitive primitive in order to
67 -- get 2D boxes for the Sort Algorithm
69 Areas (me:mutable ; boxes : in out ListOfBox2d from SelectBasics) is redefined static;
71 ---Purpose: stores in <boxes> the 2D Boxes which represent the sensitive face
72 -- in the selection algorithm.
74 Points3D(me:mutable; theHArrayOfPnt : in out HArray1OfPnt from TColgp);
75 ---Purpose: Returns the 3D points of the array used at construction time.
78 Points2D(me:mutable; theArrayOfPnt2d : in out Array1OfPnt2d from TColgp);
79 ---Purpose: Returns the 2D points of the array used at construction time.
84 mybox2d : Box2d from Select3D is protected;
85 mypolyg : PointData from Select3D is protected;