QSize sizeHint() const { Transform3D M = createTransformRotateX(M_PI_4) * createTransformRotateZ(M_PI_4) * createTransformTranslate(Vector3D(1,2,M_PI)); QString text = qstring_cast(M).split("\n")[0]; QRect rect = QFontMetrics(this->font()).boundingRect(text); QSize s(rect.width()*1.0+5, 4*rect.height()*1.2+5); return s; }
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]; } }