Transform3D PatientOrientationWidget::get_tMtm() const { Transform3D tMtm; if (mInvertButton->isChecked()) { tMtm = createTransformRotateY(M_PI) * createTransformRotateZ(-M_PI / 2); } else { tMtm = createTransformRotateY(M_PI) * createTransformRotateZ(M_PI / 2); } return tMtm; }
Transform3D TrackedStream::get_tMu() { //Made tMu by copying and modifying code from ProbeSector::get_tMu() ProbeDefinition probeDefinition = mProbeTool->getProbe()->getProbeData(); Vector3D origin_p = probeDefinition.getOrigin_p(); Vector3D spacing = probeDefinition.getSpacing(); Vector3D origin_u(origin_p[0]*spacing[0], origin_p[1]*spacing[1], origin_p[2]*spacing[2]); Transform3D Rx = createTransformRotateX(M_PI / 2.0); Transform3D Ry = createTransformRotateY(-M_PI / 2.0); Transform3D R = (Rx * Ry); Transform3D T = createTransformTranslate(-origin_u); Transform3D tMu = R * T; return tMu; }
void DecomposedTransform3D::setAngles(Vector3D xyz) { // std::cout << "setAngles " << xyz << std::endl; if (!similar(xyz[0], mAngle[0])) { m_R = m_R * createTransformRotateX(xyz[0] - mAngle[0]); mAngle[0] = xyz[0]; } if (!similar(xyz[1], mAngle[1])) { m_R = m_R * createTransformRotateY(xyz[1] - mAngle[1]); mAngle[1] = xyz[1]; } if (!similar(xyz[2], mAngle[2])) { m_R = m_R * createTransformRotateZ(xyz[2] - mAngle[2]); mAngle[2] = xyz[2]; } }
/**Provide a nice default transform for displays without a tool. */ Transform3D SliceProxy::getSyntheticToolPos(const Vector3D& center) const { Transform3D R_tq = createTransformRotateY(M_PI) * createTransformRotateZ(M_PI_2); Transform3D T_c = createTransformTranslate(center); return T_c * R_tq; }