14 #ifndef ESYS_LSMVEC3L_H
15 #define ESYS_LSMVEC3L_H
40 Vec3L(Long x, Long y, Long z)
49 m_data[0] = vec.m_data[0];
50 m_data[1] = vec.m_data[1];
51 m_data[2] = vec.m_data[2];
60 m_data[0] = vec.m_data[0];
61 m_data[1] = vec.m_data[1];
62 m_data[2] = vec.m_data[2];
67 bool operator==(
const Vec3L &vec)
const
71 (m_data[0] == vec.m_data[0])
73 (m_data[1] == vec.m_data[1])
75 (m_data[2] == vec.m_data[2])
79 Long &operator[](
int idx)
84 const Long &operator[](
int idx)
const
89 Vec3L operator-(Long val)
const
91 return Vec3L(m_data[0]-val, m_data[1]-val, m_data[2]-val);
94 Vec3L operator+(Long val)
const
96 return Vec3L(m_data[0]+val, m_data[1]+val, m_data[2]+val);
109 const Long &Y()
const
119 const Long &Z()
const
134 std::min(m_data[0], vec.m_data[0]),
135 std::min(m_data[1], vec.m_data[1]),
136 std::min(m_data[2], vec.m_data[2])
145 std::max(m_data[0], vec.m_data[0]),
146 std::max(m_data[1], vec.m_data[1]),
147 std::max(m_data[2], vec.m_data[2])
155 inline std::ostream &operator<<(std::ostream &oStream,
const Vec3L &vec)
157 oStream << vec.X() <<
" " << vec.Y() <<
" " << vec.Z();