20#include <gtsam/base/VectorSpace.h>
21#include <gtsam/base/std_optional_serialization.h>
22#if GTSAM_ENABLE_BOOST_SERIALIZATION
23#include <boost/serialization/nvp.hpp>
35using Point2Pair = std::pair<Point2, Point2>;
36GTSAM_EXPORT std::ostream &operator<<(std::ostream &os,
const gtsam::Point2Pair &p);
38using Point2Pairs = std::vector<Point2Pair>;
45 OptionalJacobian<1, 2> H1 = {},
49typedef std::vector<Point2, Eigen::aligned_allocator<Point2> > Point2Vector;
53 return Point2(s * p.x(), s * p.y());
70GTSAM_EXPORT std::optional<Point2> circleCircleIntersection(
double R_d,
double r_d,
double tol = 1e-9);
78GTSAM_EXPORT std::list<Point2> circleCircleIntersection(
Point2 c1,
Point2 c2, std::optional<Point2> fh);
81GTSAM_EXPORT Point2Pair
means(
const std::vector<Point2Pair> &abPointPairs);
92GTSAM_EXPORT std::list<Point2> circleCircleIntersection(
Point2 c1,
double r1,
93 Point2 c2,
double r2,
double tol = 1e-9);
95template <
typename A1,
typename A2>
100 typedef double result_type;
Global functions in a separate testing namespace.
Definition chartTesting.h:28
double norm2(const Point2 &p, OptionalJacobian< 1, 2 > H)
Distance of the point from the origin, with Jacobian.
Definition Point2.cpp:27
Point2 operator*(double s, const Point2 &p)
multiply with scalar
Definition Point2.h:52
double distance2(const Point2 &p, const Point2 &q, OptionalJacobian< 1, 2 > H1, OptionalJacobian< 1, 2 > H2)
distance between two points
Definition Point2.cpp:39
Vector2 Point2
As of GTSAM 4, in order to make GTSAM more lean, it is now possible to just typedef Point2 to Vector2...
Definition Point2.h:32
Point2Pair means(const std::vector< Point2Pair > &abPointPairs)
Calculate the two means of a set of Point2 pairs.
Definition Point2.cpp:116
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition OptionalJacobian.h:40
Definition BearingRange.h:42