32 Voxel(
const int _x,
const int _y,
const int _z)
39 int& operator[](
const int index) {
return m[index]; }
67 Voxel operator+(
int _p)
const
85 Voxel operator*(
int d)
const
94 Voxel operator/(
int d)
const
97 return Voxel(0, 0, 0);
100 p.x =
static_cast<int>(std::floor(
static_cast<float>(x) /
static_cast<float>(d) + 0.5f));
101 p.y =
static_cast<int>(std::floor(
static_cast<float>(y) /
static_cast<float>(d) + 0.5f));
102 p.z =
static_cast<int>(std::floor(
static_cast<float>(z) /
static_cast<float>(d) + 0.5f));
108 float d =
static_cast<float>(x * x + y * y + z * z);
114 bool operator==(
const Voxel& param)
const {
return (x == param.x) && (y == param.y) && (z == param.z); }
116 bool operator!=(
const Voxel& param)
const {
return (x != param.x) || (y != param.y) || (z != param.z); }
119 inline std::ostream& operator<<(std::ostream& out,
const Voxel& v)
121 out << v.x <<
"," << v.y <<
"," << v.z;