0024157: Parallelization of assembly part of BO
[occt.git] / src / Select3D / Select3D_SensitivePoly.cdl
CommitLineData
b311480e 1-- Copyright (c) 1999-2012 OPEN CASCADE SAS
2--
3-- The content of this file is subject to the Open CASCADE Technology Public
4-- License Version 6.5 (the "License"). You may not use the content of this file
5-- except in compliance with the License. Please obtain a copy of the License
6-- at http://www.opencascade.org and read it completely before using this file.
7--
8-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10--
11-- The Original Code and all software distributed under the License is
12-- distributed on an "AS IS" basis, without warranty of any kind, and the
13-- Initial Developer hereby disclaims all such warranties, including without
14-- limitation, any warranties of merchantability, fitness for a particular
15-- purpose or non-infringement. Please see the License for the specific terms
16-- and conditions governing the rights and limitations under the License.
17
7fd59977 18deferred class SensitivePoly from Select3D
19inherits SensitiveEntity from Select3D
20
21 ---Purpose: Sensitive Entity to make a face selectable.
ceae62f0
A
22 -- In some cases this class can raise Standard_ConstructionError and
23 -- Standard_OutOfRange exceptions from its member Select3D_PointData
24 -- mypolyg.
7fd59977 25
26uses
27 EntityOwner from SelectBasics,
28 Projector from Select3D,
29 ListOfBox2d from SelectBasics,
30 Array1OfPnt from TColgp,
31 HArray1OfPnt from TColgp,
ceae62f0
A
32 Array1OfPnt2d from TColgp,
33 Box2d from Select3D,
34 PointData from Select3D
35
36raises
37 ConstructionError from Standard,
38 OutOfRange from Standard
7fd59977 39
40is
41
42 Initialize (OwnerId : EntityOwner from SelectBasics;
43 ThePoints : Array1OfPnt from TColgp)
44 returns mutable SensitivePoly;
45 ---Level: Public
46 ---Purpose: Constructs a sensitive face object defined by the
47 -- owner OwnerId, the array of points ThePoints, and
48 -- the sensitivity type Sensitivity.
49 -- The array of points is the outer polygon of the geometric face.
50
51 Initialize (OwnerId : EntityOwner from SelectBasics;
52 ThePoints : HArray1OfPnt from TColgp)
53 returns mutable SensitivePoly;
54 ---Level: Public
55 ---Purpose: Constructs a sensitive face object defined by the
56 -- owner OwnerId, the array of points ThePoints, and
57 -- the sensitivity type Sensitivity.
58 -- The array of points is the outer polygon of the geometric face.
59
60 Initialize(OwnerId : EntityOwner from SelectBasics;
61 NbOfPoints : Integer = 6)
62 returns mutable SensitivePoly;
63 ---Level: Public
64 ---Purpose: Constructs the sensitive circle object defined by the
65 -- owner OwnerId, the circle Circle, the Boolean
ac04d101 66 -- FilledCircle and the number of points NbOfPoints.
7fd59977 67
68 Project (me:mutable;aProjector : Projector from Select3D) is redefined virtual;
69 ---Level: Public
70 ---Purpose: projection of the sensitive primitive in order to
71 -- get 2D boxes for the Sort Algorithm
72
73 Areas (me:mutable ; boxes : in out ListOfBox2d from SelectBasics) is redefined static;
74 ---Level: Public
75 ---Purpose: stores in <boxes> the 2D Boxes which represent the sensitive face
76 -- in the selection algorithm.
77
78 Points3D(me:mutable; theHArrayOfPnt : in out HArray1OfPnt from TColgp);
79 ---Purpose: Returns the 3D points of the array used at construction time.
80 ---C++: inline
81
82 Points2D(me:mutable; theArrayOfPnt2d : in out Array1OfPnt2d from TColgp);
83 ---Purpose: Returns the 2D points of the array used at construction time.
84 ---C++: inline
85
7fd59977 86fields
87
7fd59977 88 mybox2d : Box2d from Select3D is protected;
ceae62f0 89 mypolyg : PointData from Select3D is protected;
ac04d101 90end SensitivePoly;