#include "GlobalInfo.h" EyeDataMatrix g_eyeDataMatrix; void EyeDataMatrix::addData(int x, int y) { if(dataMatrix[x][y].Cnt < 79999.0) { dataMatrix[x][y].fCnt += eyenWeightCoefficient; } } void EyeDataMatrix::eyeStatisticalWeight() { eyeIsLessenTheBurden = true; if (eyenWeightCoefficient <= eyenWeightCoefficientMIN) { return; } int num = 0; int num2 = 0; double num3 = 0.0; int num4 = 79999; for (int i = 0; i < 1000; i++) { for (int j = 0; j < 256; j++) { if (dataMatrix[i][j].fCnt > 0.0) { num++; if (dataMatrix[i][j].fCnt >= (double)num4) { num2++; } } } } if (num2 > 0) { num3 = (double)num2 / (double)num; } if (num3 >= 0.25) { eyeIsLessenTheBurden = false; } } void EyeDataMatrix::eyeLessenTheBurden() { if (eyeIsLessenTheBurden) { return; } int num = 0; for (int i = 0; i < 1000; i++) { for (int j = 0; j < 256; j++) { if (dataMatrix[i][j].fCnt > 0.0) { num = (int)(dataMatrix[i][j].fCnt * 0.05); dataMatrix[i][j].fCnt -= num; } } } eyenWeightCoefficient *= eyenWeightCoefficient; } EyeDataSample** EyeDataMatrix::eyeZoomOut() { EyeDataSample (*array)[256] = new EyeDataSample[1000][256]; for (int i = 0; i < 1000; i++) { for (int j = 0; j < 256; j++) { EyeDataSample pEyeData2; pEyeData2.x = dataMatrix[i][j].x; pEyeData2.y = dataMatrix[i][j].y; pEyeData2.fCnt = dataMatrix[i][j].fCnt; pEyeData2.data = dataMatrix[i][j].data; if (dataMatrix[i][j].fCnt > 0.0) { pEyeData2.fCnt /= 100.0; pEyeData2.Cnt = (int)pEyeData2.fCnt; } array[i][j] = pEyeData2; } } return array; }