27 const CLHEP::HepRotation& rotation,
const CLHEP::Hep3Vector& translation)
33 transform[
VGM::kDx] = translation.x() * Units::Length();
34 transform[
VGM::kDy] = translation.y() * Units::Length();
35 transform[
VGM::kDz] = translation.z() * Units::Length();
43 sqrt(rotation.xx() * rotation.xx() + rotation.yx() * rotation.yx());
44 if (cosb > 16 * FLT_EPSILON) {
45 angleX = atan2(rotation.zy(), rotation.zz());
46 angleY = atan2(-rotation.zx(), cosb);
47 angleZ = atan2(rotation.yx(), rotation.xx());
50 angleX = atan2(-rotation.yz(), rotation.yy());
51 angleY = atan2(-rotation.zx(), cosb);
69 HepGeom::Scale3D scale;
70 HepGeom::Rotate3D rotate;
71 HepGeom::Translate3D translate;
72 objectTransform.getDecomposition(scale, rotate, translate);
75 Transform(rotate.getRotation(), translate.getTranslation());
77 if (scale(0, 0) * scale(1, 1) * scale(2, 2) < 0.)
111 HepGeom::Scale3D scale;
112 HepGeom::Rotate3D rotate;
113 HepGeom::Translate3D translate;
114 transform.getDecomposition(scale, rotate, translate);
116 if (scale(0, 0) * scale(1, 1) * scale(2, 2) < 0.)