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

Method SetInteractionMode

Views/Infovis/vtkRenderView.cxx:217–254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

215}
216
217void vtkRenderView::SetInteractionMode(int mode)
218{
219 if (this->InteractionMode != mode)
220 {
221 this->InteractionMode = mode;
222 vtkInteractorObserver* oldStyle = this->GetInteractor()->GetInteractorStyle();
223 if (mode == INTERACTION_MODE_2D)
224 {
225 if (oldStyle)
226 {
227 oldStyle->RemoveObserver(this->GetObserver());
228 }
229 vtkInteractorStyleRubberBand2D* style = vtkInteractorStyleRubberBand2D::New();
230 this->GetInteractor()->SetInteractorStyle(style);
231 style->SetRenderOnMouseMove(this->GetRenderOnMouseMove());
232 style->AddObserver(vtkCommand::SelectionChangedEvent, this->GetObserver());
233 this->Renderer->GetActiveCamera()->ParallelProjectionOn();
234 style->Delete();
235 }
236 else if (mode == INTERACTION_MODE_3D)
237 {
238 if (oldStyle)
239 {
240 oldStyle->RemoveObserver(this->GetObserver());
241 }
242 vtkInteractorStyleRubberBand3D* style = vtkInteractorStyleRubberBand3D::New();
243 this->GetInteractor()->SetInteractorStyle(style);
244 style->SetRenderOnMouseMove(this->GetRenderOnMouseMove());
245 style->AddObserver(vtkCommand::SelectionChangedEvent, this->GetObserver());
246 this->Renderer->GetActiveCamera()->ParallelProjectionOff();
247 style->Delete();
248 }
249 else
250 {
251 vtkErrorMacro("Unknown interaction mode.");
252 }
253 }
254}
255
256void vtkRenderView::SetRenderWindow(vtkRenderWindow* win)
257{

Callers 5

SetInteractionModeTo2DFunction · 0.80
SetInteractionModeTo3DFunction · 0.80

Calls 10

GetObserverMethod · 0.80
SetRenderOnMouseMoveMethod · 0.80
GetActiveCameraMethod · 0.80
DeleteMethod · 0.65
NewFunction · 0.50
GetInteractorStyleMethod · 0.45
GetInteractorMethod · 0.45
RemoveObserverMethod · 0.45
SetInteractorStyleMethod · 0.45
AddObserverMethod · 0.45

Tested by

no test coverage detected