e9091ec9df54cc3271fd6d484286e55fc7a2b13a
[occt.git] / src / MeshVS / MeshVS_SensitivePolyhedron.cdl
1 -- Created on: 2005-01-21
2 -- Created by: Alexander SOLOVYOV
3 -- Copyright (c) 2005-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
20
21 class SensitivePolyhedron from MeshVS inherits SensitiveEntity from Select3D
22
23 uses
24     EntityOwner                from SelectBasics,
25     Projector                  from Select3D,
26     Location                   from TopLoc,
27     Real                       from Standard,
28     Boolean                    from Standard,
29     Array1OfPnt2d              from TColgp,
30     SequenceOfInteger          from TColStd,
31     Box2d                      from Bnd,
32     Lin                        from gp,
33     ListOfBox2d                from SelectBasics,
34     Array1OfPnt                from TColgp,
35     HArray1OfPnt               from TColgp,
36     HArray1OfPnt2d             from TColgp,
37     HArray1OfSequenceOfInteger from MeshVS,
38     XY                         from gp
39
40 is
41     Create( Owner : EntityOwner from SelectBasics;
42             Nodes : Array1OfPnt from TColgp;
43             Topo  : HArray1OfSequenceOfInteger from MeshVS ) returns mutable SensitivePolyhedron from MeshVS;
44
45     Project( me:mutable; aProjector: Projector from Select3D ) is redefined;
46
47     GetConnected( me:mutable; aLocation: Location from TopLoc ) returns SensitiveEntity from Select3D 
48        is redefined;
49    
50     Matches( me   : mutable; 
51              X,Y  : Real from Standard;
52              aTol : Real from Standard;
53              DMin : out Real from Standard ) returns Boolean is redefined;
54
55     Matches( me                  : mutable; 
56              XMin,YMin,XMax,YMax : Real from Standard;
57              aTol                : Real from Standard ) returns Boolean from Standard is redefined;
58
59     Matches( me       : mutable; 
60              Polyline : Array1OfPnt2d from TColgp;
61              aBox     : Box2d from Bnd;
62              aTol     : Real from Standard ) returns Boolean from Standard is redefined;
63
64     GetBox2d( me; aBox : out Box2d from Bnd ) is protected;
65
66     FindIntersection( me; NodesIndices : SequenceOfInteger from TColStd;
67                           EyeLine      : Lin from gp ) returns Real is protected;
68
69     ComputeDepth( me; EyeLine: Lin from gp ) returns Real from Standard is redefined;
70
71 --  ComputeSize( me ) returns Real from Standard is redefined;
72
73     Areas( me: mutable; aResult : in out ListOfBox2d from SelectBasics ) is redefined;
74
75 fields
76     myNodes   : HArray1OfPnt from TColgp;
77     myNodes2d : HArray1OfPnt2d from TColgp;
78     myTopo    : HArray1OfSequenceOfInteger from MeshVS;
79     myCenter  : XY from gp;
80
81 end SensitiveEntity;
82