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;
}
Exemple #3
0
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];
	}
}