summaryrefslogtreecommitdiff
path: root/src/AIS2D/AIS2D_LocalContext.cdl
blob: 53442f23ad8084ed06be163061b32778a47dbdee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
-- File     : AIS2D_LocalContext.cdl
-- Created  : February  2000
-- Author   : Tanya COOL
---Copyright: Matra Datavision 2000

private class LocalContext from AIS2D inherits TShared from MMgt

	---Purpose: defines a specific context  for selection: One can
	--          loads  InteractiveObjects  with   a mode   to be
	--          activated  associate InteractiveObjects   with a
	--          set of  temporary   selectable Objects
	--          

uses

   ListOfInteger         from TColStd,
   SequenceOfInteger     from TColStd,
   MapOfTransient        from TColStd,
   NameOfColor           from Quantity,
   PlaneAngle            from Quantity,
   Length                from Quantity,
   GridType              from Aspect,
   GridDrawMode          from Aspect,
   View                  from V2d,
   Primitive             from Graphic2d,
   InteractiveObject     from AIS2D,
   InteractiveContext    from AIS2D,
   LocalStatus           from AIS2D,
   StatusOfPick          from AIS2D,
   StatusOfDetection     from AIS2D,
   PToListOfInt          from AIS2D,
   DataMapOfLocStat      from AIS2D,
   ClearMode             from AIS2D 
								   
is

   Create returns mutable LocalContext from AIS2D;
   ---Purpose: Constructor By Default, the  displayed objects are 
   --          automatically loaded.

   Create ( aCtx                : InteractiveContext from AIS2D;
    	    anIndex             : Integer            from Standard;
    	    LoadDisplayed       : Boolean            from Standard = Standard_True;
    	    AcceptStdModes      : Boolean            from Standard = Standard_True;
    	    AcceptErase         : Boolean            from Standard = Standard_False )
	    returns mutable LocalContext from AIS2D;
   ---Purpose: Constructor 

  -- *************************************************************
  --        Editing general Display Services 
  -- *************************************************************
	
   Display( me              : mutable;
            anIObj          : InteractiveObject from AIS2D;
            DisplayMode     : Integer from Standard = 0;
 	        AllowDecomp     : Boolean from Standard = Standard_True; 
   	        ActivationMode  : Integer from Standard = 0 )
    returns Boolean from Standard;
   ---Level: Internal
   ---Purpose: 

   Load( me             : mutable;
         anIObj         : InteractiveObject from AIS2D;
         AllowDecomp    : Boolean from Standard = Standard_True; 
         ActivationMode : Integer from Standard = 0)
    returns Boolean from Standard;
   ---Level: Internal
   ---Purpose: 

   Erase( me     : mutable;
          anIObj : InteractiveObject from AIS2D )
    returns Boolean from Standard;
   ---Level: Internal
   ---Purpose: 

   Remove( me       : mutable;
           aSelObj  : InteractiveObject from AIS2D )
    returns Boolean from Standard;
   ---Level: Internal
   ---Purpose: 

   LoadContextObjects( me: mutable );
   UnloadContextObjects( me: mutable );

   Terminate( me: mutable );
   ---Level: Internal
   ---Purpose: 

   Clear( me: mutable; aType: ClearMode from AIS2D = AIS2D_CM_All );
   ---Purpose: according to <aType>, clears the  different parts of
   --          the selector (filters, modeof activation, objects...)

   HighlightPicked( me: mutable; UpdateVwr: Boolean from Standard = Standard_True ) ;
   UnhighlightPicked( me: mutable; UpdateVwr: Boolean from Standard = Standard_True ) ;

   UpdateSelected( me        : mutable;
                   UpdateVwr : Boolean from Standard = Standard_True ); 
   SetSelected( me           : mutable;
                anIObj       : InteractiveObject from AIS2D;
    	    	UpdateVwr    : Boolean from Standard=Standard_True );
    ---Purpose: useful  to  update selection with objects  coming from
    --          Collector or stack

   AddOrRemoveSelected( me        : mutable;
    	    	    	 anIObj    : InteractiveObject from AIS2D;
    	    	    	 UpdateVwr : Boolean from Standard = Standard_True );
    ---Purpose: useful  to  update selection with objects  coming from
    --          Collector or stack
  
   --***************************************************************************
   --         Information about Detection
   --***************************************************************************
   
   IsSelected( me; anIObj: InteractiveObject from AIS2D) returns Boolean  from  Standard;
   SelectedIO( me ) returns InteractiveObject from AIS2D;
   

   -- *******************************************************************************
   --	       	  Management Of Temporary Attributes
   -- *******************************************************************************	
   
   SetDisplayPriority( me      : mutable;
                       anIObj  : InteractiveObject from AIS2D;
    	    	       Prior   : Integer from Standard);
   
   DisplayedObjects( me; theMapToFill: in out MapOfTransient from TColStd )
      returns Integer from Standard;

   IsDisplayed( me; anIObj: InteractiveObject from AIS2D) returns Boolean from Standard;
   IsDisplayed( me; anIObj: InteractiveObject from AIS2D;
    	    	aMode: Integer from Standard)
    returns Boolean from Standard;

   Unhighlight( me:mutable; anIObj: InteractiveObject from AIS2D);
   IsHighlight( me; anIObj: InteractiveObject from AIS2D) returns Boolean from Standard;
   IsHighlight( me;
     	    	anIObj    : InteractiveObject from AIS2D;
    	    	WithColor : out Boolean from Standard;
		        HiCol     : out NameOfColor from Quantity)
    returns Boolean from Standard;
   
    
   IsIn( me; anIObj: InteractiveObject from AIS2D) returns Boolean from Standard;

   SubIntensityOn( me: mutable; anIObj: InteractiveObject from AIS2D ); 
   SubIntensityOff( me: mutable; anIObj: InteractiveObject from AIS2D ); 
   
  --****************************************************************
  --            Graphic Detection and Selection
  --****************************************************************
  UnhighLastDetect( me: mutable; aView: View from V2d) returns Boolean from Standard;
  MoveTo( me: mutable; Xpix, Ypix: Integer from Standard; aView: View from V2d)
          returns StatusOfDetection from AIS2D;
  Select( me: mutable; UpdateVwr: Boolean from Standard = Standard_True )
       returns StatusOfPick from AIS2D;
      
  ShiftSelect( me: mutable; UpdateVwr: Boolean from Standard = Standard_True)
       returns StatusOfPick from AIS2D;
	  	  
   --**********************************************************************************
  
  --**********************************************************************************

  ClearSelected( me: mutable; UpdateVwr: Boolean from Standard=Standard_True );  
  ClearObjects( me:mutable ) is static private;
  ClearDetected( me:mutable ) is static private;

  IsValidForSelection( me; anIObj: InteractiveObject from AIS2D) returns Boolean from Standard is static private;

  DrawObject( me: mutable; anObj: InteractiveObject from AIS2D; aDispMode: Integer from Standard ) 
    is private;

  DetectedIndex(me:mutable) returns Integer from Standard is static private;
  Status( me; anObject: InteractiveObject from AIS2D )
    returns any LocalStatus from AIS2D is private;
    ---C++: return const&
     
fields

    myICTX          : InteractiveContext    from AIS2D;
	myActiveObjects : DataMapOfLocStat      from AIS2D;  

    myLastPicked     : InteractiveObject from AIS2D;
    myLastinMain     : InteractiveObject from AIS2D;
    myLastSelPrim    : Primitive         from Graphic2d;
	myLastPickPrim   : Primitive         from Graphic2d;
	myLastPickElInd  : Integer           from Standard;
	myLastSelElInd   : Integer           from Standard;

    myLoadDisplayed	 : Boolean               from Standard;
    myAcceptStdMode  : Boolean               from Standard;
    myAcceptErase    : Boolean               from Standard;        
    
	myListOfStdMode : ListOfInteger         from TColStd;
    	
    myAutoHighlight : Boolean               from Standard;
    myLastIndex     : Integer               from Standard;
    myLastGood      : Integer               from Standard;

    myDetectedSeq   : SequenceOfInteger     from TColStd;
    myCurDetected   : Integer               from Standard;
	myResetDetect   : Boolean               from Standard;

friends 

    KeepTemporary from  InteractiveContext from AIS2D(me:mutable; anIObj:InteractiveObject from AIS2D; WhichMode: Integer from Standard = -1) 

end LocalContext;