7 eq(
float lhs,
float rhs,
float tol = 1e-6f)
9 return std::abs(lhs - rhs) < tol;
15 return !
eq(lhs.x, rhs.x) || !
eq(lhs.y, rhs.y) || !
eq(lhs.z, rhs.z);
19 operator<<(std::ostream& os,
const Point3D& rhs)
21 return os <<
"[" << rhs.x <<
" " << rhs.y <<
" " << rhs.z <<
"]";
27 return os <<
"[" << rhs.r <<
" " << rhs.g <<
" " << rhs.b <<
" " << rhs.a <<
"]";
31 operator!=(
const ColoredPoint3D& lhs,
const ColoredPoint3D& rhs)
33 return lhs.point != rhs.point || lhs.color != rhs.color;
37 operator<<(std::ostream& os,
const ColoredPoint3D& rhs)
39 return os <<
"(" << rhs.point <<
" " << rhs.color <<
")";
43 operator!=(
const LabeledPoint3D& lhs,
const LabeledPoint3D& rhs)
45 return lhs.point != rhs.point || lhs.label != rhs.label;
49 operator<<(std::ostream& os,
const LabeledPoint3D& rhs)
51 return os <<
"(" << rhs.point <<
" " << rhs.label <<
")";
bool eq(float lhs, float rhs, float tol=1e-6f)
std::ostream & operator<<(std::ostream &os, const Point3D &rhs)
bool operator!=(const Point3D &lhs, const Point3D &rhs)