0024171: Eliminate CLang compiler warning -Wreorder
[occt.git] / src / SelectMgr / SelectMgr_Filter.cdl
CommitLineData
b311480e 1-- Created on: 1997-03-05
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
7fd59977 21
22
23deferred class Filter from SelectMgr inherits TShared from MMgt
24
25 ---Purpose: The root class to define filter objects for selection.
26 -- Advance handling of objects requires the services of
27 -- filters. These only allow dynamic detection and
28 -- selection of objects which correspond to the criteria defined in each.
29 -- Eight standard filters inheriting SelectMgr_Filter are
30 -- defined in Open CASCADE.
31 -- You can create your own filters by defining new filter
32 -- classes inheriting this framework. You use these
33 -- filters by loading them into an AIS interactive context.
34
35uses
36 EntityOwner from SelectMgr,
37 ShapeEnum from TopAbs
38is
39 IsOk(me; anObj : EntityOwner from SelectMgr)
40 returns Boolean from Standard
41 is deferred;
42 ---Purpose: Indicates that the selected Interactive Object
43 -- passes the filter. The owner, anObj, can be either
44 -- direct or user. A direct owner is the corresponding
45 -- construction element, whereas a user is the
46 -- compound shape of which the entity forms a part.
47 -- When an object is detected by the mouse - in AIS,
48 -- this is done through a context selector - its owner
49 -- is passed to the filter as an argument.
50 -- If the object returns Standard_True, it is kept; if
51 -- not, it is rejected.
52 -- If you are creating a filter class inheriting this
53 -- framework, and the daughter class is to be used in
54 -- an AIS local context, you will need to implement the
55 -- virtual function ActsOn.
56
57 ActsOn(me; aStandardMode : ShapeEnum from TopAbs)
58 returns Boolean from Standard is virtual;
59 ---Purpose: Returns true in an AIS local context, if this filter
60 -- operates on a type of subshape defined in a filter
61 -- class inheriting this framework.
62 -- This function completes IsOk in an AIS local context.
63
64
65end Filter;