예제 #1
0
        public static void VectorChangeColor(string vectorName, IAgStkObject stkObject, Color SelectedColor)
        {
            IAgAircraft        _aircraft  = stkObject as IAgAircraft;
            IAgCrdn            _vectorVGT = stkObject.Vgt.Vectors[vectorName] as IAgCrdn;
            IAgVORefCrdnVector _vectorVO  = _aircraft.VO.Vector.RefCrdns.Add(AgEGeometricElemType.eVectorElem, _vectorVGT.QualifiedPath) as IAgVORefCrdnVector;

            _vectorVO.Color = SelectedColor;
        }
예제 #2
0
        private static void TurnOnTrueScale(AgSatellite satObj, string type)
        {
            string             name = "Satellite/" + satObj.InstanceName + " " + type;
            IAgVORefCrdnVector ecc  = GetVector(satObj, name) as IAgVORefCrdnVector;

            if (type.Contains("Periapsis") || type.Contains("Apoapsis"))
            {
                ecc.TrueScale = true;
            }
        }
예제 #3
0
        private static void ShowVector(AgSatellite satObj, string type)
        {
            string       name = "Satellite/" + satObj.InstanceName + " " + type;
            IAgVORefCrdn ecc  = GetVector(satObj, name);

            ecc.Visible      = true;
            ecc.LabelVisible = true;
            IAgVORefCrdnVector eccVector = ecc as IAgVORefCrdnVector;

            eccVector.DrawAtCB = true;
            TurnOnTrueScale(satObj, type);
        }
예제 #4
0
        public static void VectorChangePoint(string vectorName, string OriginPointName, IAgStkObject stkObject)
        {
            string VectorDisplayOrigin = OriginPointName;

            //IAgAircraft _aircraft = stkObject as IAgAircraft;
            IAgCrdn vector = stkObject.Vgt.Vectors[vectorName] as IAgCrdn;
            IAgCrdn point  = stkObject.Vgt.Points[OriginPointName] as IAgCrdn;
            IAgVORefCrdnCollection refCrdns = GetRefCrdns(stkObject);
            IAgVORefCrdnVector     vectorVO = refCrdns.GetCrdnByName(AgEGeometricElemType.eVectorElem, vector.QualifiedPath) as IAgVORefCrdnVector;

            vectorVO.DrawAtPoint = true;
            vectorVO.Point       = point.QualifiedPath;
        }
예제 #5
0
        private void createVectorButton_Click(object sender, EventArgs e)
        {
            //Create vector between objects
            string accessFromName = cbAccessFrom.GetItemText(cbAccessFrom.SelectedItem);
            string accessToName   = cbAccessTo.GetItemText(cbAccessTo.SelectedItem);

            IAgStkObject fromObj = CommonData.StkRoot.GetObjectFromPath(accessFromName);
            IAgStkObject toObj   = CommonData.StkRoot.GetObjectFromPath(accessToName);

            IAgCrdnVectorGroup        vectors = fromObj.Vgt.Vectors;
            IAgCrdnVectorDisplacement vector  = null;
            string vectorName = "From" + fromObj.InstanceName + "To" + toObj.InstanceName;

            if (vectors.Contains(vectorName))
            {
                vector = (IAgCrdnVectorDisplacement)vectors[vectorName];
            }
            else
            {
                vector = (IAgCrdnVectorDisplacement)vectors.Factory.Create(vectorName, "description", AGI.STKVgt.AgECrdnVectorType.eCrdnVectorTypeDisplacement);
            }
            vector.Destination.SetPoint(toObj.Vgt.Points["Center"]);
            vector.Origin.SetPoint(fromObj.Vgt.Points["Center"]);

            // Visualize

            //if (fromObj.ClassName == "Facility")
            //{
            //    fromObj2 = fromObj as IAgFacility;
            //}
            //else if (fromObj.ClassName == "Satellite")
            //{
            //    fromObj2 = fromObj as IAgSatellite;
            //}
            //else if (fromObj.ClassName == "Sensor")
            //{
            //    fromObj2 = fromObj as IAgSensor;
            //}
            //else if (fromObj.ClassName == "Aircraft")
            //{
            //    fromObj2 = fromObj as IAgAircraft;
            //}
            //else
            //{
            //    return;
            //}

            try
            {
                IAgFacility        fromObj2        = fromObj as IAgFacility;
                IAgVORefCrdnVector boresightVector = fromObj2.VO.Vector.RefCrdns.Add(AgEGeometricElemType.eVectorElem, fromObj.ClassName + "/" + fromObj.InstanceName + " " + vectorName + " Vector") as IAgVORefCrdnVector;
                fromObj2.VO.Vector.VectorSizeScale = 4.0;
            }
            catch
            {
            }

            try
            {
                IAgSatellite       fromObj2        = fromObj as IAgSatellite;
                IAgVORefCrdnVector boresightVector = fromObj2.VO.Vector.RefCrdns.Add(AgEGeometricElemType.eVectorElem, fromObj.ClassName + "/" + fromObj.InstanceName + " " + vectorName + " Vector") as IAgVORefCrdnVector;
                fromObj2.VO.Vector.VectorSizeScale = 4.0;
            }
            catch
            {
            }

            try
            {
                IAgAircraft        fromObj2        = fromObj as IAgAircraft;
                IAgVORefCrdnVector boresightVector = fromObj2.VO.Vector.RefCrdns.Add(AgEGeometricElemType.eVectorElem, fromObj.ClassName + "/" + fromObj.InstanceName + " " + vectorName + " Vector") as IAgVORefCrdnVector;
                fromObj2.VO.Vector.VectorSizeScale = 4.0;
            }
            catch
            {
            }

            try
            {
                IAgSensor          fromObj2        = fromObj as IAgSensor;
                IAgVORefCrdnVector boresightVector = fromObj2.VO.Vector.RefCrdns.Add(AgEGeometricElemType.eVectorElem, fromObj.ClassName + "/" + fromObj.InstanceName + " " + vectorName + " Vector") as IAgVORefCrdnVector;
                fromObj2.VO.Vector.VectorSizeScale = 4.0;
            }
            catch
            {
            }
        }