コード例 #1
0
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;
}
コード例 #2
0
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;
}
コード例 #3
0
ファイル: cxFrame3D.cpp プロジェクト: c0ns0le/CustusX
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];
	}
}
コード例 #4
0
ファイル: cxSliceProxy.cpp プロジェクト: SINTEFMedtek/CustusX
/**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;
}