25 auto [cosPhi, sinPhi, cosTheta, sinTheta, invSinTheta] =
60 return freeToCurvJacobian;
64 auto [cosPhi, sinPhi, cosTheta, sinTheta, invSinTheta] =
85 return curvToFreeJacobian;
91 auto [cosPhi, sinPhi, cosTheta, sinTheta, invSinTheta] =
100 jacobian(4, 4) = -sinTheta * sinPhi;
101 jacobian(4, 5) = cosTheta * cosPhi;
102 jacobian(5, 4) = sinTheta * cosPhi;
103 jacobian(5, 5) = cosTheta * sinPhi;
104 jacobian(6, 5) = -sinTheta;
111 auto [cosPhi, sinPhi, cosTheta, sinTheta, invSinTheta] =
120 jacobian(4, 4) = -sinPhi * invSinTheta;
121 jacobian(4, 5) = cosPhi * invSinTheta;
122 jacobian(5, 4) = cosPhi * cosTheta;
123 jacobian(5, 5) = sinPhi * cosTheta;
124 jacobian(5, 6) = -sinTheta;
143 return freeToBoundJacobian *
144 (FreeMatrix::Identity() + freeToPathDerivatives * freeToPath) *
145 freeTransportJacobian * boundToFreeJacobian;
155 freeToPath.segment<3>(
eFreePos0) = -1.0 * direction;
160 return freeToBoundJacobian *
161 (FreeMatrix::Identity() + freeToPathDerivatives * freeToPath) *
162 freeTransportJacobian * boundToFreeJacobian;
170 return (freeTransportJacobian * boundToFreeJacobian);
187 return freeToBoundJacobian *
188 (transport + freeToPathDerivatives * sVec * transport) *
189 directionToAnglesJacobian;
200 direction.transpose() * transport.template topLeftCorner<3, 7>();
205 (transport - freeToPathDerivatives * sfactors) *
206 directionToAnglesJacobian;
213 return freeTransportJacobian * anglesToDirectionJacobian *