handler toggle 1,2,3 keys
This commit is contained in:
@@ -192,7 +192,7 @@ void Viewport::SetupPipeline(vtkRenderWindowInteractor* iren)
|
||||
// Keyboard events for widget coordinate frame
|
||||
m_KeyCallback = vtkSmartPointer<vtkCallbackCommand>::New();
|
||||
m_KeyCallback->SetClientData(this);
|
||||
m_KeyCallback->SetCallback([](vtkObject* caller, unsigned long, void* clientdata, void*){
|
||||
m_KeyCallback->SetCallback([](vtkObject* caller, unsigned long event, void* clientdata, void*){
|
||||
auto* iren = static_cast<vtkRenderWindowInteractor*>(caller);
|
||||
auto* self = static_cast<Viewport*>(clientdata);
|
||||
|
||||
@@ -201,29 +201,57 @@ void Viewport::SetupPipeline(vtkRenderWindowInteractor* iren)
|
||||
|
||||
if (self->m_HandlerWidget && self->m_HandlerWidget->GetEnabled()) {
|
||||
if (key == "l") {
|
||||
self->m_HandlerWidget->SetReferenceFrame(vtkHandlerWidget::LOCAL);
|
||||
std::cout << "Widget Frame: LOCAL" << std::endl;
|
||||
if (event == vtkCommand::KeyPressEvent) {
|
||||
self->m_HandlerWidget->SetReferenceFrame(vtkHandlerWidget::LOCAL);
|
||||
std::cout << "Widget Frame: LOCAL" << std::endl;
|
||||
}
|
||||
handled = true;
|
||||
}
|
||||
else if (key == "g") {
|
||||
self->m_HandlerWidget->SetReferenceFrame(vtkHandlerWidget::GLOBAL);
|
||||
std::cout << "Widget Frame: GLOBAL" << std::endl;
|
||||
if (event == vtkCommand::KeyPressEvent) {
|
||||
self->m_HandlerWidget->SetReferenceFrame(vtkHandlerWidget::GLOBAL);
|
||||
std::cout << "Widget Frame: GLOBAL" << std::endl;
|
||||
}
|
||||
handled = true;
|
||||
}
|
||||
else if (key == "c") {
|
||||
self->m_HandlerWidget->SetReferenceFrame(vtkHandlerWidget::CENTER);
|
||||
std::cout << "Widget Frame: CENTER" << std::endl;
|
||||
if (event == vtkCommand::KeyPressEvent) {
|
||||
self->m_HandlerWidget->SetReferenceFrame(vtkHandlerWidget::CENTER);
|
||||
std::cout << "Widget Frame: CENTER" << std::endl;
|
||||
}
|
||||
handled = true;
|
||||
}
|
||||
else if (key == "k") {
|
||||
self->m_HandlerWidget->SetReferenceFrame(vtkHandlerWidget::CENTER_LOCAL);
|
||||
std::cout << "Widget Frame: CENTER_LOCAL" << std::endl;
|
||||
if (event == vtkCommand::KeyPressEvent) {
|
||||
self->m_HandlerWidget->SetReferenceFrame(vtkHandlerWidget::CENTER_LOCAL);
|
||||
std::cout << "Widget Frame: CENTER_LOCAL" << std::endl;
|
||||
}
|
||||
handled = true;
|
||||
}
|
||||
else if (key == "1") {
|
||||
if (event == vtkCommand::KeyPressEvent) {
|
||||
self->m_HandlerWidget->SetTranslationEnabled(!self->m_HandlerWidget->GetTranslationEnabled());
|
||||
}
|
||||
handled = true;
|
||||
}
|
||||
else if (key == "2") {
|
||||
if (event == vtkCommand::KeyPressEvent) {
|
||||
self->m_HandlerWidget->SetRotationEnabled(!self->m_HandlerWidget->GetRotationEnabled());
|
||||
}
|
||||
handled = true;
|
||||
}
|
||||
else if (key == "3") {
|
||||
if (event == vtkCommand::KeyPressEvent) {
|
||||
self->m_HandlerWidget->SetScalingEnabled(!self->m_HandlerWidget->GetScalingEnabled());
|
||||
}
|
||||
handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (key == "f") {
|
||||
self->ZoomSelected();
|
||||
if (event == vtkCommand::KeyPressEvent) {
|
||||
self->ZoomSelected();
|
||||
}
|
||||
handled = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user