0024070: OpenGL capped object-level clipping planes
[occt.git] / src / Select3D / Select3D_SensitiveTriangle.cdl
1 -- Created on: 1997-05-14
2 -- Created by: Robert COUBLANC
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 class SensitiveTriangle from Select3D  
24 inherits SensitivePoly from Select3D
25
26     ---Purpose: A framework to define selection of triangles in a view.
27     -- This comes into play in the detection of meshing and triangulation in surfaces.
28     -- In some cases this class can raise Standard_ConstructionError and 
29     -- Standard_OutOfRange exceptions. For more details see Select3D_SensitivePoly.
30
31 uses
32     EntityOwner      from SelectBasics,
33     Projector        from Select3D,
34     Lin              from gp,
35     ListOfBox2d      from SelectBasics,
36     PickArgs         from SelectBasics,
37     Array1OfPnt2d    from TColgp,
38     Box2d            from Bnd,
39     XY               from gp,
40     Pnt              from gp,
41     TypeOfSensitivity from Select3D,
42     Location          from TopLoc, 
43     SensitiveEntity   from Select3D
44
45 raises
46     ConstructionError from Standard,
47     OutOfRange from Standard
48
49 is
50     Create (OwnerId      : EntityOwner from SelectBasics;
51             P1,P2,P3     : Pnt from gp;
52             Sensitivity  : TypeOfSensitivity = Select3D_TOS_INTERIOR)
53      returns mutable SensitiveTriangle;
54     ---Level: Public 
55         ---Purpose: Constructs a sensitive triangle object defined by the
56         -- owner OwnerId, the points P1, P2, P3, and the type of sensitivity Sensitivity. 
57
58     Matches (me : mutable;
59              thePickArgs : PickArgs from SelectBasics;
60              theMatchDMin, theMatchDepth : out Real from Standard)
61     returns Boolean is redefined static;
62     ---Level: Public
63     ---Purpose: Checks whether the sensitive entity matches the picking
64     -- detection area (close to the picking line).
65     -- For details please refer to base class declaration.
66
67     Matches (me  :mutable; 
68              XMin,YMin,XMax,YMax : Real from Standard;
69              aTol: Real from Standard) 
70     returns Boolean
71     is redefined virtual;
72         ---Level: Public 
73      
74     Matches (me  :mutable; 
75              Polyline:Array1OfPnt2d from TColgp;
76          aBox:Box2d from Bnd;
77              aTol: Real from Standard) 
78     returns Boolean
79     is redefined virtual;
80         ---Level: Public 
81     
82     
83     ComputeDepth(me;EyeLine: Lin from gp) 
84     returns Real from Standard;
85
86
87     Points3D(me; P1,P2,P3 : out Pnt from gp) ;
88         ---Purpose: Returns the 3D points P1, P2, P3 used at the time of construction.
89     Center3D (me) returns Pnt from gp;
90         ---Purpose: Returns the center point of the sensitive triangle created at construction time.
91     Center2D (me) returns XY from gp;
92         ---Purpose: WARNING : the returned Values are the original values
93         --          without the stored  location (if there's one).
94         --          To get the genuine value, One must apply this location
95         --          (Method Location() )
96     
97     
98     
99     
100     Status(me; 
101              X,Y  : Real from Standard;
102              aTol : Real from Standard ;
103              Dmin : out Real from Standard)
104     returns Integer from Standard;
105     
106     Status (myclass;
107              p0,p1,p2: XY from gp ;
108              aPoint  : XY from gp ;
109              aTol    : Real from Standard;
110              Dmin    : out Real from Standard) returns Integer from  Standard;
111     ---Purpose: Dmin gives the distance between the cdg and aPoint return 
112
113     Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual; 
114
115     GetConnected(me: mutable; theLocation : Location from TopLoc) 
116     returns SensitiveEntity from Select3D 
117     is redefined virtual; 
118         ---Level: Public 
119         ---Purpose: Returns the copy of this
120
121
122 fields
123     mytype  : TypeOfSensitivity from Select3D;
124 end SensitiveTriangle;