inline void SetValue( const float& value, unsigned __int8 xShift = 0, unsigned __int8 yShift = 0 )
{
if( 0 < counter )
{
data.value = ( value + counter * data.value ) / ( counter + 1 );
offx = static_cast<unsigned __int8>(( int(xShift) + counter * int(offx) ) / ( counter + 1 ));
offy = static_cast<unsigned __int8>(( int(yShift) + counter * int(offy) ) / ( counter + 1 ));
counter++;
}else
{
data.value = value;
offx = xShift;
offy = yShift;
counter = 1;
}
}