Ejemplo n.º 1
0
        //********************************************************
        //* Point-To-Point Mode Calculations                     *
        //********************************************************

        public void point_to_pointMDH(double[] elev, double tht_m, double rht_m,
                                      double eps_dielect, double sgm_conductivity, double eno_ns_surfref,
                                      double frq_mhz, RadioClimate radio_climate, Polarization pol, VariabilityMode mdvar, double timepct, double locpct, double confpct,
                                      out double dbloss, out PropMode propmode, out double deltaH, out int errnum)
        // timepct, locpct, confpct: .01 to .99
        // elev[]: [num points - 1], [delta dist(meters)], [height(meters) point 1], ..., [height(meters) point n]
        // errnum: 0- No Error.
        //         1- Warning: Some parameters are nearly out of range.
        //                     Results should be used with caution.
        //         2- Note: Default parameters have been substituted for impossible ones.
        //         3- Warning: A combination of parameters is out of range.
        //                     Results are probably invalid.
        //         Other-  Warning: Some parameters are out of range.
        //                          Results are probably invalid.
        {
            _klim  = radio_climate;
            _lvar  = Changes.All;
            _mdp   = ControlFlow.PointToPoint;
            _w1    = true;  // possible bugfix: original embedded this value in mdvar
            _mdvar = mdvar; // bugfix: original used 'mobile'

            Transmitter.hg = tht_m;
            Receiver.hg    = rht_m;

            var e = new Elevations(elev);

            qlrps(frq_mhz, e.Points.Average(), eno_ns_surfref, pol, eps_dielect, sgm_conductivity);
            qlrpfl(e, _klim, _mdvar);
            var fs = 32.45 + 20 * Math.Log10(frq_mhz) + 20 * Math.Log10(_dist / 1000.0);

            deltaH   = _dh;
            propmode = GetPropMode();
            dbloss   = avar(qerfi(timepct), qerfi(locpct), qerfi(confpct)) + fs;    //avar(time,location,confidence)
            errnum   = _kwx;
        }
Ejemplo n.º 2
0
    public static string GetKeyForProp(PropMode mode)
    {
        if (mode == PropMode.Light)
        {
            return("_lightID");
        }

        return(mode == PropMode.Prop ? "_propID" : null);
    }
Ejemplo n.º 3
0
 private void StartUserPropMode(PropMode propMode, bool waitForModeAnimCompletion)
 {
     this.waitForModeAnimCompletion = waitForModeAnimCompletion;
     stateTransitionComplete        = false;
     isUserModeCompleted            = false;
     isPropAnimCompleted            = false;
     anim.SetInteger("PropMode", (int)propMode);
     if (propMode == PropMode.Retrieve && Prop.PropDef != null)
     {
         anim.SetFloat(AnimationHashes.Params.PropRetrieveType, (float)Prop.PropDef.RetrieveAnimType);
     }
 }
Ejemplo n.º 4
0
 public void SetAnimatorMode(PropMode propMode, System.Action completionHandler, bool waitForAnimationComplete = true)
 {
     if (animator != null)
     {
         animator.SetInteger("PropMode", (int)propMode);
         if (waitForAnimationComplete)
         {
             animationCompletionHandler = completionHandler;
             isPlayingAnimation         = true;
         }
         else
         {
             isPlayingAnimation = false;
             completionHandler?.Invoke();
         }
     }
     else
     {
         CoroutineRunner.Start(delayTriggerHandler(completionHandler), this, "Delay for triggering prop removal");
     }
 }
Ejemplo n.º 5
0
        //********************************************************
        //* Area Mode Calculations                               *
        //********************************************************

        public void area(VariabilityMode ModVar, double deltaH, double tht_m, double rht_m,
                         double dist_km, SiteCriteria TSiteCriteria, SiteCriteria RSiteCriteria,
                         double eps_dielect, double sgm_conductivity, double eno_ns_surfref,
                         double frq_mhz, RadioClimate radio_climate, Polarization pol, double pctTime, double pctLoc,
                         double pctConf, out double dbloss, out PropMode propmode, out int errnum)
        {
            // pctTime, pctLoc, pctConf: .01 to .99
            // errnum: 0- No Error.
            //         1- Warning: Some parameters are nearly out of range.
            //                     Results should be used with caution.
            //         2- Note: Default parameters have been substituted for impossible ones.
            //         3- Warning: A combination of parameters is out of range.
            //                     Results are probably invalid.
            //         Other-  Warning: Some parameters are out of range.
            //                          Results are probably invalid.
            _dh             = deltaH;
            _klim           = radio_climate;
            _ens            = eno_ns_surfref;
            Transmitter.hg  = tht_m;
            Transmitter.kst = TSiteCriteria;
            Receiver.hg     = rht_m;
            Receiver.kst    = RSiteCriteria;
            qlrps(frq_mhz, 0, eno_ns_surfref, pol, eps_dielect, sgm_conductivity);
            qlra(_klim, ModVar);
            if (_lvar < Changes.Distance)
            {
                _lvar = Changes.Distance;
            }
            lrprop(dist_km * 1000);
            var fs  = 32.45 + 20 * Math.Log10(frq_mhz) + 20 * Math.Log10(_dist / 1000.0);
            var xlb = fs + avar(qerfi(pctTime), qerfi(pctLoc), qerfi(pctConf));

            dbloss   = xlb;
            errnum   = _kwx;
            propmode = GetPropMode();
        }
Ejemplo n.º 6
0
 public static void ChangeProperty (Gdk.Window win, Atom property, Atom type, PropMode mode, uint [] data)
 {
     gdk_property_change (win.Handle, property.Handle, type.Handle, 32, (int)mode,  data, data.Length * 4);
 }
Ejemplo n.º 7
0
 public static void ChangeProperty(Gdk.Window win, Atom property, Atom type, PropMode mode, byte[] data)
 {
     gdk_property_change(win.Handle, property.Handle, type.Handle, 8, (int)mode, data, data.Length);
 }