42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
/**
|
|
* @file Point2.cpp
|
|
* @brief 2D Point
|
|
* @author Frank Dellaert
|
|
*/
|
|
|
|
#include "Point2.h"
|
|
|
|
using namespace std;
|
|
|
|
namespace gtsam {
|
|
|
|
/* ************************************************************************* */
|
|
void Point2::print(const string& s) const {
|
|
cout << s << "(" << x_ << ", " << y_ << ")" << endl;
|
|
}
|
|
|
|
/* ************************************************************************* */
|
|
double Point2::dist(const Point2& p2) const {
|
|
return sqrt(pow(x() - p2.x(), 2.0) + pow(y() - p2.y(), 2.0));
|
|
}
|
|
|
|
/* ************************************************************************* */
|
|
bool Point2::equals(const Point2& q, double tol) const {
|
|
return (fabs(x_ - q.x()) < tol && fabs(y_ - q.y()) < tol);
|
|
}
|
|
|
|
/* ************************************************************************* */
|
|
bool assert_equal(const Point2& p, const Point2& q, double tol) {
|
|
if (p.equals(q, tol))
|
|
return true;
|
|
printf("not equal:\n");
|
|
p.print("p = ");
|
|
q.print("q = ");
|
|
(p - q).print("p-q = ");
|
|
return false;
|
|
}
|
|
|
|
/* ************************************************************************* */
|
|
|
|
} // namespace gtsam
|