Loading...
Searching...
No Matches
expressions.h
Go to the documentation of this file.
#pragma once
#include <gtsam/geometry/Rot3.h>
#include <gtsam/navigation/NavState.h>
#include <gtsam/nonlinear/expressions.h>
#include <gtsam/slam/expressions.h>
namespace gtsam {
typedef Expression<NavState> NavState_;
typedef Expression<Velocity3> Velocity3_;
namespace internal {
// define getters that return a value rather than a reference
Rot3 attitude(const NavState& X, OptionalJacobian<3, 9> H) {
return X.attitude(H);
}
Point3 position(const NavState& X, OptionalJacobian<3, 9> H) {
return X.position(H);
}
Velocity3 velocity(const NavState& X, OptionalJacobian<3, 9> H) {
return X.velocity(H);
}
} // namespace internal
// overloads for getters
inline Rot3_ attitude(const NavState_& X) {
return Rot3_(internal::attitude, X);
}
inline Point3_ position(const NavState_& X) {
return Point3_(internal::position, X);
}
inline Velocity3_ velocity(const NavState_& X) {
return Velocity3_(internal::velocity, X);
}
} // namespace gtsam
Rot3.h
3D rotation represented as a rotation matrix or quaternion
NavState.h
Navigation state composing of attitude, position, and velocity.
gtsam
Global functions in a separate testing namespace.
Definition chartTesting.h:28
gtsam::Point3
Vector3 Point3
As of GTSAM 4, in order to make GTSAM more lean, it is now possible to just typedef Point3 to Vector3...
Definition Point3.h:36
gtsam::Velocity3
Vector3 Velocity3
Velocity is currently typedef'd to Vector3.
Definition NavState.h:28
gtsam::Expression
Expression class that supports automatic differentiation.
Definition Expression.h:48
expressions.h
Common expressions, both linear and non-linear.
expressions.h
Common expressions for solving geometry/slam/sfm problems.