added gizmo but not yet working
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -36,11 +36,11 @@
|
||||
#include "Vtk/uLibVtkInterface.h"
|
||||
#include "Vtk/vtkContainerBox.h"
|
||||
|
||||
class vtkBoxWidget;
|
||||
|
||||
namespace uLib {
|
||||
namespace Vtk {
|
||||
|
||||
class vtkHandlerWidget;
|
||||
|
||||
class vtkDetectorChamber : public vtkContainerBox {
|
||||
typedef DetectorChamber Content;
|
||||
|
||||
@@ -80,7 +80,7 @@ private:
|
||||
uLib::Vtk::vtkDetectorChamber *chamber;
|
||||
};
|
||||
|
||||
vtkBoxWidget *m_Widget;
|
||||
vtkHandlerWidget *m_Widget;
|
||||
vtkWidgetCallback *m_Callback;
|
||||
vtkSelectionCallback *m_PickerCallback;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user