21 #include <gtsam/base/DerivedValue.h>
28 CheiralityException> {
69 virtual void print(
const std::string& s =
"")
const {
75 return pose_.equals(camera.
pose(), tol);
93 boost::optional<Matrix&> H1 = boost::none, boost::optional<Matrix&> H2 =
100 boost::optional<Matrix&> H1 = boost::none, boost::optional<Matrix&> H2 =
130 inline size_t dim()
const {
135 inline static size_t Dim() {
155 boost::optional<Matrix&> Dpose = boost::none,
156 boost::optional<Matrix&> Dpoint = boost::none)
const;
163 static Point2 project_to_camera(
const Point3& cameraPoint,
164 boost::optional<Matrix&> H1 = boost::none);
169 static Point3 backproject_from_camera(
const Point2& p,
const double scale);
178 double range(
const Point3& point, boost::optional<Matrix&> H1 = boost::none,
179 boost::optional<Matrix&> H2 = boost::none)
const {
180 return pose_.range(point, H1, H2);
190 double range(
const Pose3& pose, boost::optional<Matrix&> H1 = boost::none,
191 boost::optional<Matrix&> H2 = boost::none)
const {
192 return pose_.range(pose, H1, H2);
203 boost::none, boost::optional<Matrix&> H2 = boost::none)
const {
204 return pose_.range(camera.pose_, H1, H2);
214 friend class boost::serialization::access;
215 template<
class Archive>
216 void serialize(Archive & ar,
const unsigned int version) {
218 & boost::serialization::make_nvp(
"CalibratedCamera",
219 boost::serialization::base_object<Value>(*
this));
220 ar & BOOST_SERIALIZATION_NVP(pose_);
const Pose3 & pose() const
return pose
Definition: CalibratedCamera.h:87
static size_t Dim()
Lie group dimensionality.
Definition: CalibratedCamera.h:135
const CalibratedCamera compose(const CalibratedCamera &c, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
compose the two camera poses: TODO Frank says this might not make sense
Definition: CalibratedCamera.h:92
Base exception type that uses tbb_exception if GTSAM is compiled with TBB.
Definition: types.h:154
double range(const Pose3 &pose, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
Calculate range to another pose.
Definition: CalibratedCamera.h:190
virtual ~CalibratedCamera()
destructor
Definition: CalibratedCamera.h:83
CalibratedCamera()
default constructor
Definition: CalibratedCamera.h:52
Definition: CalibratedCamera.h:42
Definition: CalibratedCamera.h:27
size_t dim() const
Lie group dimensionality.
Definition: CalibratedCamera.h:130
virtual void print(const std::string &s="") const
Print this value, for debugging and unit tests.
Definition: CalibratedCamera.h:69
const CalibratedCamera inverse(boost::optional< Matrix & > H1=boost::none) const
invert the camera pose: TODO Frank says this might not make sense
Definition: CalibratedCamera.h:106
bool equals(const CalibratedCamera &camera, double tol=1e-9) const
check equality to another camera
Definition: CalibratedCamera.h:74
const CalibratedCamera between(const CalibratedCamera &c, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
between the two camera poses: TODO Frank says this might not make sense
Definition: CalibratedCamera.h:99
double range(const Point3 &point, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
Calculate range to a landmark.
Definition: CalibratedCamera.h:178
Definition: DerivedValue.h:44
double range(const CalibratedCamera &camera, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
Calculate range to another camera.
Definition: CalibratedCamera.h:202