44 #ifndef _INCLUDED_Field3D_EmptyField_H_
45 #define _INCLUDED_Field3D_EmptyField_H_
49 #include <boost/lexical_cast.hpp>
62 #define UNUSED(p) ((p)=(p))
80 template <
class Data_T>
88 typedef boost::intrusive_ptr<EmptyField>
Ptr;
89 typedef std::vector<Ptr>
Vec;
115 virtual Data_T
value(
int i,
int j,
int k)
const;
116 virtual long long int memSize()
const;
134 virtual Data_T&
lvalue(
int i,
int j,
int k);
173 template <
class Data_T>
182 template <
class Data_T>
185 m_constantData = m_default = value;
190 template <
class Data_T>
193 assert (i >= base::m_dataWindow.min.x);
194 assert (i <= base::m_dataWindow.max.x);
195 assert (j >= base::m_dataWindow.min.y);
196 assert (j <= base::m_dataWindow.max.y);
197 assert (k >= base::m_dataWindow.min.z);
198 assert (k <= base::m_dataWindow.max.z);
210 template <
class Data_T>
213 long long int superClassMemSize = base::memSize();
214 return sizeof(*this) + superClassMemSize;
219 template <
class Data_T>
222 assert (i >= base::m_dataWindow.min.x);
223 assert (i <= base::m_dataWindow.max.x);
224 assert (j >= base::m_dataWindow.min.y);
225 assert (j <= base::m_dataWindow.max.y);
226 assert (k >= base::m_dataWindow.min.z);
227 assert (k <= base::m_dataWindow.max.z);
234 return m_ignoredData;
239 template <
class Data_T>
242 m_constantData = val;
247 template <
class Data_T>
250 return m_constantData;
271 #endif // Include guard