42 m_R = Transform3D::Identity();
60 bool eqPos =
similar(input.mPos, mPos);
71 mAngle = input.mAngle;
80 if (!
similar(xyz[0], mAngle[0]))
85 if (!
similar(xyz[1], mAngle[1]))
90 if (!
similar(xyz[2], mAngle[2]))
124 mAngleAxis = Eigen::AngleAxisd::Identity();
136 Vector3D ea = t.matrix().block<3, 3> (0, 0).eulerAngles(0, 1, 2);
142 mAngleAxis = Eigen::AngleAxisd(xyz[0], Vector3D::UnitX()) * Eigen::AngleAxisd(xyz[1], Vector3D::UnitY())
143 * Eigen::AngleAxisd(xyz[2], Vector3D::UnitZ());
153 Eigen::Matrix3d R = T.matrix().block<3, 3> (0, 0);
155 retval.
mPos = T.matrix().block<3, 1> (0, 3);
168 return mAngleAxis.axis();
173 mAngleAxis = Eigen::AngleAxisd(mAngleAxis.angle(), k);
174 mAngleAxis = Eigen::AngleAxisd(mAngleAxis.angle(), k);
186 * 180 <<
", Phi=" << mAngleAxis.angle() /
M_PI * 180 <<
", Pos=[" << mPos <<
"]";
191 boost::array<double, 6> retval;
193 retval[1] =
getThetaZ(mAngleAxis.axis());
194 retval[2] = mAngleAxis.angle();
void setRotationAxis(const Vector3D &k)
Transform3D createTransformRotateY(const double angle)
Vector3D rotationAxis() const
static Frame3D fromCompactAxisAngleRep(const boost::array< double, 6 > &rep)
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
Transform3D transform() const
Vector3D unitVector(double thetaXY, double thetaZ)
compute a unit vector given angles xy in the xy plane and z meaning the elevation from the xy plane...
Defines an axis-angle representation of a position+orientation in 3D space.
double getThetaXY(Vector3D k)
get thetaXY, meaning the angle of v projected onto the xy plane
boost::array< double, 6 > getCompactAxisAngleRep() const
double getThetaZ(Vector3D k)
get thetaZ, z meaning the elevation from the xy plane
void setEulerXYZ(const Vector3D &xyz)
static Frame3D create(const Transform3D &transform)
Vector3D getEulerXYZ() const
void put(std::ostream &s) const
Transform3D createTransformTranslate(const Vector3D &translation)
std::ostream & operator<<(std::ostream &s, const IntBoundingBox3D &data)
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
bool similar(const CameraInfo &lhs, const CameraInfo &rhs, double tol)
Transform3D createTransformRotateZ(const double angle)
Eigen::AngleAxisd mAngleAxis
angle-axis representation of rotation
Transform3D createTransformRotateX(const double angle)
Namespace for all CustusX production code.