bool LLFloaterWebContent::matchesKey(const LLSD& key) { Params p(mKey); Params other_p(key); if (!other_p.target().empty() && other_p.target() != "_blank") { return other_p.target() == p.target(); } else { return other_p.id() == p.id(); } }
TransformDerivative TransformDerivative::operator*(const Transform& otherTransform) const { TransformDerivative ret; Eigen::Map<const Eigen::Vector3d> dp(this->posDerivative.data()); Eigen::Map<const Eigen::Matrix<double,3,3,Eigen::RowMajor> > dR(this->rotDerivative.data()); Eigen::Map<const Eigen::Vector3d> other_p(otherTransform.getPosition().data()); Eigen::Map<const Eigen::Matrix<double,3,3,Eigen::RowMajor> > other_R(otherTransform.getRotation().data()); Eigen::Map<Eigen::Vector3d> ret_dp(ret.posDerivative.data()); Eigen::Map<Eigen::Matrix<double,3,3,Eigen::RowMajor> >ret_dR(ret.rotDerivative.data()); ret_dR = dR*other_R; ret_dp = dR*other_p+dp; return ret; }