21 #include "vtkMatrix4x4.h" 22 #include "vtkLinearTransform.h" 27 : QDialog(parent, f), m_Controls(nullptr), m_Geometry(nullptr)
35 this->setWindowTitle(
"Edit Tool Tip and Tool Orientation");
47 m_Controls =
new Ui::QmitkInteractiveTransformationWidgetControls;
93 m_ToolToEdit->GetDataNode()->SetName(
"Tool Tip to be edited");
107 SetValuesToGUI(
m_Geometry->GetIndexToWorldTransform());
114 rotationTransform->SetOrientation(_defaultValues);
115 m_Geometry->SetIndexToWorldTransform(rotationTransform->GetAffineTransform3D());
119 SetValuesToGUI(
m_Geometry->GetIndexToWorldTransform());
122 void QmitkInteractiveTransformationWidget::SetValuesToGUI(
const mitk::AffineTransform3D::Pointer _defaultValues)
126 m_Controls->m_XTransSlider->setValue(_defaultValues->GetOffset()[0]);
127 m_Controls->m_YTransSlider->setValue(_defaultValues->GetOffset()[1]);
128 m_Controls->m_ZTransSlider->setValue(_defaultValues->GetOffset()[2]);
132 double eulerAlphaDegrees = transformConversionHelper->GetOrientation().rotation_euler_angles()[0] / vnl_math::pi * 180;
133 double eulerBetaDegrees = transformConversionHelper->GetOrientation().rotation_euler_angles()[1] / vnl_math::pi * 180;
134 double eulerGammaDegrees = transformConversionHelper->GetOrientation().rotation_euler_angles()[2] / vnl_math::pi * 180;
136 m_Controls->m_XRotSpinBox->setValue(eulerAlphaDegrees);
137 m_Controls->m_YRotSpinBox->setValue(eulerBetaDegrees);
138 m_Controls->m_ZRotSpinBox->setValue(eulerGammaDegrees);
144 void QmitkInteractiveTransformationWidget::SetSynchronizedValuesToSliderAndSpinbox(QDoubleSpinBox* _spinbox, QSlider* _slider,
double _value)
147 _spinbox->blockSignals(
true);
148 _slider->blockSignals(
true);
149 _spinbox->setValue(_value);
150 _slider->setValue(_value);
152 _spinbox->blockSignals(
false);
153 _slider->blockSignals(
false);
160 translationParams[0] = v;
163 SetSynchronizedValuesToSliderAndSpinbox(
m_Controls->m_XTransSpinBox,
m_Controls->m_XTransSlider, v);
174 translationParams[1] = v;
177 SetSynchronizedValuesToSliderAndSpinbox(
m_Controls->m_YTransSpinBox,
m_Controls->m_YTransSlider, v);
187 translationParams[2] = v;
190 SetSynchronizedValuesToSliderAndSpinbox(
m_Controls->m_ZTransSpinBox,
m_Controls->m_ZTransSlider, v);
199 rotationParams[0] = v;
200 rotationParams[1] =
m_Controls->m_YRotSpinBox->value();
201 rotationParams[2] =
m_Controls->m_ZRotSpinBox->value();
203 SetSynchronizedValuesToSliderAndSpinbox(
m_Controls->m_XRotSpinBox,
m_Controls->m_XRotSlider, v);
205 this->
Rotate(rotationParams);
211 rotationParams[0] =
m_Controls->m_XRotSpinBox->value();
212 rotationParams[1] = v;
213 rotationParams[2] =
m_Controls->m_ZRotSpinBox->value();
215 SetSynchronizedValuesToSliderAndSpinbox(
m_Controls->m_YRotSpinBox,
m_Controls->m_YRotSlider, v);
217 this->
Rotate(rotationParams);
223 rotationParams[0] =
m_Controls->m_XRotSpinBox->value();
224 rotationParams[1] =
m_Controls->m_YRotSpinBox->value();
225 rotationParams[2] = v;
227 SetSynchronizedValuesToSliderAndSpinbox(
m_Controls->m_ZRotSpinBox,
m_Controls->m_ZRotSlider, v);
229 this->
Rotate(rotationParams);
235 double radianX = rotateVector[0] * vnl_math::pi / 180;
236 double radianY = rotateVector[1] * vnl_math::pi / 180;
237 double radianZ = rotateVector[2] * vnl_math::pi / 180;
244 rotationTransform->SetOrientation(rotation);
246 m_Geometry->SetIndexToWorldTransform(rotationTransform->GetAffineTransform3D());
257 this->SetValuesToGUI(
m_Geometry->GetIndexToWorldTransform());
268 this->SetValuesToGUI(
m_Geometry->GetIndexToWorldTransform());
278 mitk::AffineTransform3D::Pointer toolTip =
m_Geometry->GetIndexToWorldTransform();
static BaseRenderer * GetInstance(vtkRenderWindow *renWin)
static vtkRenderWindow * GetRenderWindowByName(const std::string &name)
static RenderingManager * GetInstance()
vnl_quaternion< ScalarType > Quaternion
virtual DataStorage::Pointer GetDataStorage() const
void RequestUpdateAll(RequestType type=REQUEST_UPDATE_ALL)