6 template <
typename Po
intT>
10 return lhs.x != rhs.x || lhs.y != rhs.y || lhs.z != rhs.z;
13 template <
typename Po
intT>
15 out_xyz(std::ostream& os,
const PointT& rhs)
17 return os <<
"[" << rhs.x <<
" " << rhs.y <<
" " << rhs.z <<
"]";
20 template <
typename Po
intT>
24 return lhs.r != rhs.r || lhs.g != rhs.g || lhs.b != rhs.b || lhs.a != rhs.a;
27 template <
typename Po
intT>
29 out_rgba(std::ostream& os,
const PointT& rhs)
31 return os <<
"[" << rhs.r <<
" " << rhs.g <<
" " << rhs.b <<
" " << rhs.a <<
"]";
37 return neq_xyz(lhs, rhs);
43 return os <<
"[" << rhs.x <<
" " << rhs.y <<
" " << rhs.z <<
"]";
47 operator!=(
const PointXYZRGBA& lhs,
const PointXYZRGBA& rhs)
49 return neq_xyz(lhs, rhs) || neq_rgba(lhs, rhs);
56 out_xyz(os, rhs) <<
" ";
57 return out_rgba(os, rhs) <<
")";
63 return neq_xyz(lhs, rhs) || lhs.label != rhs.label;
70 return out_xyz(os, rhs) <<
" " << rhs.label <<
")";