20#include <gtsam/base/VectorSpace.h>
21#include <boost/serialization/nvp.hpp>
30using Point2Pair = std::pair<Point2, Point2>;
31GTSAM_EXPORT std::ostream &operator<<(std::ostream &os,
const gtsam::Point2Pair &p);
33using Point2Pairs = std::vector<Point2Pair>;
44typedef std::vector<Point2, Eigen::aligned_allocator<Point2> > Point2Vector;
48 return Point2(s * p.x(), s * p.y());
65GTSAM_EXPORT boost::optional<Point2> circleCircleIntersection(
double R_d,
double r_d,
double tol = 1e-9);
73GTSAM_EXPORT std::list<Point2> circleCircleIntersection(
Point2 c1,
Point2 c2, boost::optional<Point2> fh);
76GTSAM_EXPORT Point2Pair
means(
const std::vector<Point2Pair> &abPointPairs);
87GTSAM_EXPORT std::list<Point2> circleCircleIntersection(
Point2 c1,
double r1,
88 Point2 c2,
double r2,
double tol = 1e-9);
90template <
typename A1,
typename A2>
95 typedef double result_type;
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
Point2 operator*(double s, const Point2 &p)
multiply with scalar
Definition: Point2.h:47
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:27
Point2Pair means(const std::vector< Point2Pair > &abPointPairs)
Calculate the two means of a set of Point2 pairs.
Definition: Point2.cpp:116
double distance2(const Point2 &p, const Point2 &q, OptionalJacobian< 1, 2 > H1, OptionalJacobian< 1, 2 > H2)
distance between two points
Definition: Point2.cpp:39
double norm2(const Point2 &p, OptionalJacobian< 1, 2 > H)
Distance of the point from the origin, with Jacobian.
Definition: Point2.cpp:27
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition: OptionalJacobian.h:41
Definition: BearingRange.h:40