Example #1
0
        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());
 }