public void UpdateStatistics() { var directIlluminanceArrays = IlluminanceAngles.IlluminanceToArrays(IlluminanceDirect); var indirectIlluminanceArrays = IlluminanceAngles.IlluminanceToArrays(IlluminanceIndirect); var arrT = IlluminanceAngles.Theta.Select(x => (double)x).ToArray(); var arrP = IlluminanceAngles.Phi.Select(x => (double)x).ToArray(); alglib.spline2dbuildbicubic(arrP, arrT, directIlluminanceArrays.R, arrT.Length, arrP.Length, out directIlluminanceSplineCoeffsR); alglib.spline2dbuildbicubic(arrP, arrT, directIlluminanceArrays.G, arrT.Length, arrP.Length, out directIlluminanceSplineCoeffsG); alglib.spline2dbuildbicubic(arrP, arrT, directIlluminanceArrays.B, arrT.Length, arrP.Length, out directIlluminanceSplineCoeffsB); alglib.spline2dbuildbicubic(arrP, arrT, indirectIlluminanceArrays.R, arrT.Length, arrP.Length, out indirectIlluminanceSplineCoeffsR); alglib.spline2dbuildbicubic(arrP, arrT, indirectIlluminanceArrays.G, arrT.Length, arrP.Length, out indirectIlluminanceSplineCoeffsG); alglib.spline2dbuildbicubic(arrP, arrT, indirectIlluminanceArrays.B, arrT.Length, arrP.Length, out indirectIlluminanceSplineCoeffsB); directIlluminanceSHR = SHMath.AFToSH(directIlluminanceArrays.R, IlluminanceAngles.Mu, IlluminanceAngles.Phi, IlluminanceAngles.NSH, IlluminanceAngles.GaussWeight, IlluminanceAngles.Qkm); directIlluminanceSHG = SHMath.AFToSH(directIlluminanceArrays.G, IlluminanceAngles.Mu, IlluminanceAngles.Phi, IlluminanceAngles.NSH, IlluminanceAngles.GaussWeight, IlluminanceAngles.Qkm); directIlluminanceSHB = SHMath.AFToSH(directIlluminanceArrays.B, IlluminanceAngles.Mu, IlluminanceAngles.Phi, IlluminanceAngles.NSH, IlluminanceAngles.GaussWeight, IlluminanceAngles.Qkm); indirectIlluminanceSHR = SHMath.AFToSH(indirectIlluminanceArrays.R, IlluminanceAngles.Mu, IlluminanceAngles.Phi, IlluminanceAngles.NSH, IlluminanceAngles.GaussWeight, IlluminanceAngles.Qkm); indirectIlluminanceSHG = SHMath.AFToSH(indirectIlluminanceArrays.G, IlluminanceAngles.Mu, IlluminanceAngles.Phi, IlluminanceAngles.NSH, IlluminanceAngles.GaussWeight, IlluminanceAngles.Qkm); indirectIlluminanceSHB = SHMath.AFToSH(indirectIlluminanceArrays.B, IlluminanceAngles.Mu, IlluminanceAngles.Phi, IlluminanceAngles.NSH, IlluminanceAngles.GaussWeight, IlluminanceAngles.Qkm); /* * for ( int it = 0; it < arrT.Length; it++ ) * for ( int ip = 0; ip < arrP.Length; ip++ ) * { * var val = alglib.spline2dcalc( directIlluminanceSplineCoeffsR, arrP[ip], arrT[it] ); * if ( val > 0.00001 ) * { * var error = directIlluminanceArrays.R[it, ip] - val; * if ( Math.Abs( error ) > 0.000001 ) * throw new Exception( "aaa" ); * } * } */ }
public override void onReceiveResult(PushDataForApplication pushData, SHResult result) { Console.WriteLine ("receive result: " + result.ToString()); Console.WriteLine ("receive result action: " + pushData.action.ToString()); Console.WriteLine ("receive result code: " + pushData.code.ToString()); Console.WriteLine ("receive result title: " + pushData.title); Console.WriteLine ("receive result message: " + pushData.message); if (pushData.data != null) { Console.WriteLine ("receive result data: " + pushData.data.ToString ()); } Console.WriteLine ("receive result msg id: " + pushData.msgID.ToString()); Console.WriteLine ("receive result display without dialog: " + pushData.displayWithoutDialog.ToString()); Console.WriteLine ("receive result is foreground: " + pushData.isAppOnForeground.ToString()); Console.WriteLine ("receive result badge: " + pushData.badge.ToString()); Console.WriteLine ("receive result sound: " + pushData.sound); Console.WriteLine ("receive result is slide: " + pushData.isInAppSlide.ToString()); Console.WriteLine ("receive result orientation: " + pushData.orientation.ToString()); Console.WriteLine ("receive result portion: " + pushData.portion.ToString()); Console.WriteLine ("receive result speed: " + pushData.speed.ToString()); }