576e4f353f411b20cedbdb9ad860db785302d910
[occt.git] / src / SelectBasics / SelectBasics_EntityOwner.cdl
1 -- Created on: 1995-02-09
2 -- Created by: Mister rmi
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 deferred class EntityOwner from SelectBasics inherits TShared from MMgt
18
19         ---Purpose: defines an abstract owner of sensitive primitives.
20         --           Owners are typically used to establish a connection
21         --           between sensitive entities and high-level objects (e.g. presentations).
22         --
23         --          Priority : It's possible to give a priority:
24         --           the scale : [0-9] ; the default priority is 0
25         --           it allows the predominance of one selected object upon
26         --           another one if many objects are selected at the same time
27         --            
28         --              
29         --          example : Selection of shapes : the owners are 
30         --           selectable objects (presentations)
31         --          
32         --           a user can give vertex priority [3], edges [2] faces [1] shape [0],
33         --           so that if during selection one vertex one edge and one face are
34         --           simultaneously detected, the vertex will only be hilighted.
35
36
37 uses
38     Location    from TopLoc
39     
40 is
41
42     Initialize (aPriority: Integer = 0) ; 
43     ---Level: Public 
44
45     Set (me:mutable; aPriority :Integer) is static;
46     ---Level: Public 
47     ---Purpose: sets the selectable priority of the owner
48     ---C++: inline
49
50     Priority(me) returns Integer is static;
51     ---Level: Public 
52     ---C++: inline
53
54     -- Deferred methods dealing with locations.
55     -- Used in Select3D package.
56     HasLocation(me) returns Boolean from Standard is deferred;
57     
58     SetLocation(me:mutable; aLoc : Location from TopLoc) is deferred;
59     
60     ResetLocation(me:mutable) is deferred;
61     
62     Location(me) returns Location from TopLoc is deferred;
63     ---C++: return const&
64
65
66
67 fields
68
69     mypriority  : Integer is protected;
70
71 end EntityOwner;
72
73
74