MCPcopy Create free account
hub / github.com/Kitware/VTK / EndSelectAction

Method EndSelectAction

Interaction/Widgets/vtkCompassWidget.cxx:251–306  ·  view source on GitHub ↗

-----------------------------------------------------------------

Source from the content-addressed store, hash-verified

249
250//-----------------------------------------------------------------
251void vtkCompassWidget::EndSelectAction(vtkAbstractWidget* widget)
252{
253 vtkCompassWidget* self = reinterpret_cast<vtkCompassWidget*>(widget);
254 vtkCompassRepresentation* representation =
255 vtkCompassRepresentation::SafeDownCast(self->WidgetRep);
256
257 // stop the timer
258 if (self->TimerId >= 0)
259 {
260 self->Interactor->DestroyTimer(self->TimerId);
261 self->TimerId = -1;
262 }
263
264 switch (self->WidgetState)
265 {
266 case vtkCompassWidget::TiltAdjusting:
267 case vtkCompassWidget::TiltTimerAdjustingDown:
268 case vtkCompassWidget::TiltTimerAdjustingUp:
269 representation->EndTilt();
270 break;
271 case vtkCompassWidget::DistanceAdjusting:
272 case vtkCompassWidget::DistanceTimerAdjustingIn:
273 case vtkCompassWidget::DistanceTimerAdjustingOut:
274 representation->EndDistance();
275 break;
276 case vtkCompassWidget::Adjusting:
277 break;
278 default:
279 return;
280 }
281
282 int interactionState = self->WidgetRep->ComputeInteractionState(
283 self->Interactor->GetEventPosition()[0], self->Interactor->GetEventPosition()[1]);
284
285 if (interactionState == vtkCompassRepresentation::Outside)
286 {
287 self->WidgetRep->Highlight(0);
288 self->WidgetState = vtkCompassWidget::Start;
289 }
290 else
291 {
292 self->WidgetState = vtkCompassWidget::Highlighting;
293 }
294
295 // the state returns to unselected
296 self->ReleaseFocus();
297
298 // complete interaction
299 self->EventCallbackCommand->SetAbortFlag(1);
300 self->EndInteraction();
301
302 self->InvokeEvent(vtkCommand::WidgetValueChangedEvent, nullptr);
303 self->InvokeEvent(vtkCommand::EndInteractionEvent, nullptr);
304
305 self->Render();
306}
307
308void vtkCompassWidget::TimerAction(vtkAbstractWidget* widget)

Callers

nothing calls this directly

Calls 9

EndTiltMethod · 0.80
EndDistanceMethod · 0.80
InvokeEventMethod · 0.80
RenderMethod · 0.65
DestroyTimerMethod · 0.45
HighlightMethod · 0.45
ReleaseFocusMethod · 0.45
EndInteractionMethod · 0.45

Tested by

no test coverage detected