private void LoadAttitude_Click(object sender, EventArgs e) { foreach (Section item in CommonData.sectionList) { item.linkedToAttitude = false; if (item.articName.Contains("Yaw") || item.articName.Contains("Pitch") || item.articName.Contains("Roll")) { item.linkedToAttitude = true; } } string objectPath = CommonData.objectClass + "/" + CommonData.simpleName; IAgStkObject obj = CommonData.StkRoot.GetObjectFromPath(objectPath); string fileName = CommonData.directoryStr + "\\" + CommonData.simpleName + ".a"; if (AttitudeCoordFrame.SelectedIndex == 0) { ArticFunctions.WriteVVLHAttitudeFile(fileName); } else if (AttitudeCoordFrame.SelectedIndex == 1) { ArticFunctions.WriteICRFAttitudeFile(fileName); } if (CommonData.objectClass == "Aircraft") { try { AgAircraft aircraft = obj as AgAircraft; IAgVeRouteAttitudeStandard attitude = aircraft.Attitude as IAgVeRouteAttitudeStandard; attitude.External.Load(fileName); } catch (Exception) { MessageBox.Show("Could not load attitude file"); } } else if (CommonData.objectClass == "Satellite") { try { IAgSatellite sat = obj as IAgSatellite; IAgVeOrbitAttitudeStandard attitude = sat.Attitude as IAgVeOrbitAttitudeStandard; attitude.External.Load(fileName); } catch (Exception) { MessageBox.Show("Could not load attitude file"); } } }
private void LinkToAttitude_CheckedChanged(object sender, EventArgs e) { CommonData.StkRoot.UnitPreferences.SetCurrentUnit("DateFormat", "EpSec"); string objectPath = CommonData.objectClass + "/" + CommonData.simpleName; IAgStkObject obj = CommonData.StkRoot.GetObjectFromPath(objectPath); if (LinkToAttitude.Checked) { AttitudeCoordFrame.Enabled = true; MainBody.Enabled = true; AttitudeCoordFrame.Items.Add("VVLH"); //AttitudeCoordFrame.Items.Add("ICRF"); AttitudeCoordFrame.SelectedIndex = 0; foreach (Section item in CommonData.sectionList) { item.linkedToAttitude = false; if (item.articName.Contains("Yaw") || item.articName.Contains("Pitch") || item.articName.Contains("Roll")) { item.linkedToAttitude = true; } } //Recreate and load articulation file ArticFunctions.CreateFile(CommonData.fileStr); ArticFunctions.LoadArticFile(); //Add possible Main Body Options to dropdown menu //Defined as possible articulation objects, not articulation movements Array names = ArticFunctions.GetArticulations(obj); string currentName = null; foreach (string name in names) { if (name.Split('-')[0] == currentName) { } else { if (name.Split('-')[0] == "Time") { } else { MainBody.Items.Add(name.Split('-')[0]); currentName = name.Split('-')[0]; } } } MainBody.SelectedIndex = 0; } else { foreach (Section item in CommonData.sectionList) { item.linkedToAttitude = false; } //recreate articulation file and reload ArticFunctions.CreateFile(CommonData.fileStr); ArticFunctions.LoadArticFile(); //turn off attitude file in object settings and disable settings on form if (CommonData.objectClass == "Aircraft") { IAgGreatArcVehicle aircraft = obj as IAgGreatArcVehicle; IAgVeRouteAttitudeStandard attitude = aircraft.Attitude as IAgVeRouteAttitudeStandard; attitude.External.Disable(); } else if (CommonData.objectClass == "Satellite") { IAgSatellite sat = obj as IAgSatellite; IAgVeOrbitAttitudeStandard attitude = sat.Attitude as IAgVeOrbitAttitudeStandard; attitude.External.Disable(); } MainBody.Enabled = false; AttitudeCoordFrame.Enabled = false; AttitudeCoordFrame.Items.Clear(); MainBody.Items.Clear(); } }