예제 #1
0
 public OpticalParams(OpticalParams data)
 {
     if (data == null)
     {
         MinEl        = "0";
         MaxEl        = "90";
         MinRange     = "4800";
         MaxRange     = "90000";
         LunarExAngle = "10";
         SunElAngle   = "-12";
         HalfAngle    = "70";
         MinAz        = "0";
         MaxAz        = "360";
     }
     else
     {
         LunarExAngle = data.LunarExAngle;
         SunElAngle   = data.SunElAngle;
         MaxAlt       = data.MaxAlt;
         MinRange     = data.MinRange;
         MaxRange     = data.MaxRange;
         MinEl        = data.MinEl;
         MaxEl        = data.MaxEl;
         HalfAngle    = data.HalfAngle;
         MinAz        = data.MinAz;
         MaxAz        = data.MaxAz;
     }
 }
예제 #2
0
 public FcFacility(FcFacility curFac)
 {
     Name           = curFac.Name;
     Type           = curFac.Type;
     Latitude       = curFac.Latitude;
     Longitude      = curFac.Longitude;
     Altitude       = curFac.Altitude;
     CadanceName    = curFac.CadanceName;
     IsOpt          = curFac.IsOpt;
     RParams        = new RadarParams(curFac.RParams);
     OParams        = new OpticalParams(curFac.OParams);
     UseDefaultCnst = curFac.UseDefaultCnst;
 }
예제 #3
0
        public static IAgStkObject AttachFacilityOptical(IAgStkObject parent, string radarName, OpticalParams rParams)
        {
            IAgStkObject sensorObj = CreatorFunctions.GetCreateSensor(parent, radarName);
            IAgSensor    sensor    = sensorObj as IAgSensor;

            sensor.Graphics.IsObjectGraphicsVisible = false;
            IAgSnSimpleConicPattern pattern = sensor.Pattern as IAgSnSimpleConicPattern;

            pattern.ConeAngle = Double.Parse(rParams.HalfAngle);

            IAgAccessConstraintCollection constraints = sensor.AccessConstraints;
            IAgAccessCnstrMinMax          elConstraint;
            IAgAccessCnstrMinMax          rangeConstraint;
            IAgAccessCnstrMinMax          sunElConstraint;
            IAgAccessCnstrAngle           lunExConstraint;

            elConstraint = CreatorFunctions.GetElCnst(constraints);
            CreatorFunctions.SetCnstMinMax(elConstraint, Double.Parse(rParams.MinEl), Double.Parse(rParams.MaxEl));

            sunElConstraint = CreatorFunctions.GetSunElCnst(constraints);
            CreatorFunctions.SetCnstMinMax(sunElConstraint, -90, Double.Parse(rParams.SunElAngle));

            rangeConstraint = CreatorFunctions.GetRangeCnst(constraints);
            CreatorFunctions.SetCnstMinMax(rangeConstraint, Double.Parse(rParams.MinRange), Double.Parse(rParams.MaxRange));

            lunExConstraint       = CreatorFunctions.GetLunExCnst(constraints);
            lunExConstraint.Angle = rParams.LunarExAngle;

            return(sensorObj);
        }