added gizmo but not yet working

This commit is contained in:
AndreaRigoni
2026-03-08 10:21:38 +00:00
parent 2548582036
commit 1374821344
5 changed files with 491 additions and 11 deletions

View File

@@ -24,7 +24,6 @@
//////////////////////////////////////////////////////////////////////////////*/
#include <vtkAxes.h>
#include <vtkBoxWidget.h>
#include <vtkCubeSource.h>
#include <vtkLineSource.h>
#include <vtkMatrix4x4.h>
@@ -39,22 +38,20 @@
#include <vtkTransform.h>
#include "Vtk/HEP/Detectors/vtkDetectorChamber.h"
#include "Vtk/vtkHandlerWidget.h"
namespace uLib {
namespace Vtk {
vtkDetectorChamber::vtkDetectorChamber(DetectorChamber *content)
: vtkContainerBox(content) {
m_Widget = vtkBoxWidget::New();
m_Widget = vtkHandlerWidget::New();
m_Callback = vtkWidgetCallback::New();
m_PickerCallback = vtkSelectionCallback::New();
m_Callback->SetChamber(this);
m_PickerCallback->SetChamber(this);
m_Widget->AddObserver(vtkCommand::InteractionEvent, m_Callback);
m_Widget->SetRotationEnabled(1);
m_Widget->SetTranslationEnabled(1);
m_Widget->SetScalingEnabled(0);
}
vtkDetectorChamber::~vtkDetectorChamber() {
@@ -139,7 +136,7 @@ void vtkDetectorChamber::InstallPipe() {
void vtkDetectorChamber::vtkWidgetCallback::Execute(vtkObject *caller,
unsigned long, void *) {
vtkBoxWidget *widget = reinterpret_cast<vtkBoxWidget *>(caller);
vtkHandlerWidget *widget = reinterpret_cast<vtkHandlerWidget *>(caller);
vtkSmartPointer<vtkTransform> t = vtkSmartPointer<vtkTransform>::New();
widget->GetTransform(t);
@@ -185,6 +182,8 @@ void vtkDetectorChamber::vtkSelectionCallback::Execute(vtkObject *caller,
vtkSmartPointer<vtkTransform> t = vtkSmartPointer<vtkTransform>::New();
t->SetMatrix(vmat);
chamber->m_Widget->SetCurrentRenderer(
interactor->GetRenderWindow()->GetRenderers()->GetFirstRenderer());
chamber->m_Widget->SetTransform(t);
chamber->m_Widget->PlaceWidget();
chamber->m_Widget->On();