Description
Provides accesses to the global unit table.
Object Model
Public Methods
Public Properties
Example
Isolate Unit Preferences when using multiple IAgStkObjectRoot objects
[C#] | Copy Code |
---|
IAgStkObjectRoot root1 = new AgStkObjectRootClass();
root1.UnitPreferences.SetCurrentUnit("Distance", "km");
IAgStkObjectRoot root2 = new AgStkObjectRootClass();
root2.Isolate();
root2.UnitPreferences.SetCurrentUnit("Distance", "mi");
if (root1.CurrentScenario != null)
{
root1.CloseScenario();
}
root1.NewScenario("Test");
root1.CurrentScenario.Children.New(AgESTKObjectType.eShip, "Ship1");
IAgShip shipFromRoot1 = root1.GetObjectFromPath("Ship/Ship1") as IAgShip;
IAgShip shipFromRoot2 = root2.GetObjectFromPath("Ship/Ship1") as IAgShip;
shipFromRoot1.SetRouteType(AgEVePropagatorType.ePropagatorGreatArc);
IAgVePropagatorGreatArc greatArcFromRoot1 = shipFromRoot1.Route as IAgVePropagatorGreatArc;
IAgVePropagatorGreatArc greatArcFromRoot2 = shipFromRoot2.Route as IAgVePropagatorGreatArc;
IAgVeWaypointsElement waypointsFromRoot1 = greatArcFromRoot1.Waypoints.Add();
waypointsFromRoot1.Altitude = 1;
IAgVeWaypointsElement waypointsFromRoot2 = greatArcFromRoot2.Waypoints.Add();
waypointsFromRoot2.Altitude = 1;
greatArcFromRoot1.Propagate();
int i = 1;
foreach (IAgVeWaypointsElement wpt in greatArcFromRoot1.Waypoints)
{
Console.WriteLine("Point #{0} Altitude {1} {2}", i, wpt.Altitude, root1.UnitPreferences.GetCurrentUnitAbbrv("Distance"));
++i;
}
Console.WriteLine();
i = 1;
foreach (IAgVeWaypointsElement wpt in greatArcFromRoot2.Waypoints)
{
Console.WriteLine("Point #{0} Altitude {1} {2}", i, wpt.Altitude, root2.UnitPreferences.GetCurrentUnitAbbrv("Distance"));
++i;
}
root1.CloseScenario();
|
|
Isolate Unit Preferences when using multiple IAgStkObjectRoot objects
[Visual Basic .NET] | Copy Code |
---|
Dim root1 As IAgStkObjectRoot = New AgStkObjectRootClass() root1.UnitPreferences.SetCurrentUnit("Distance", "km")
Dim root2 As IAgStkObjectRoot = New AgStkObjectRootClass() root2.Isolate() root2.UnitPreferences.SetCurrentUnit("Distance", "mi")
If root1.CurrentScenario IsNot Nothing Then root1.CloseScenario() End If root1.NewScenario("Test") root1.CurrentScenario.Children.[New](AgESTKObjectType.eShip, "Ship1")
Dim shipFromRoot1 As IAgShip = TryCast(root1.GetObjectFromPath("Ship/Ship1"), IAgShip) Dim shipFromRoot2 As IAgShip = TryCast(root2.GetObjectFromPath("Ship/Ship1"), IAgShip)
shipFromRoot1.SetRouteType(AgEVePropagatorType.ePropagatorGreatArc)
Dim greatArcFromRoot1 As IAgVePropagatorGreatArc = TryCast(shipFromRoot1.Route, IAgVePropagatorGreatArc) Dim greatArcFromRoot2 As IAgVePropagatorGreatArc = TryCast(shipFromRoot2.Route, IAgVePropagatorGreatArc)
Dim waypointsFromRoot1 As IAgVeWaypointsElement = greatArcFromRoot1.Waypoints.Add()
waypointsFromRoot1.Altitude = 1
Dim waypointsFromRoot2 As IAgVeWaypointsElement = greatArcFromRoot2.Waypoints.Add()
waypointsFromRoot2.Altitude = 1
greatArcFromRoot1.Propagate()
Dim i As Integer = 1 For Each wpt As IAgVeWaypointsElement In greatArcFromRoot1.Waypoints Console.WriteLine("Point #{0} Altitude {1} {2}", i, wpt.Altitude, root1.UnitPreferences.GetCurrentUnitAbbrv("Distance")) System.Threading.Interlocked.Increment(i) Next Console.WriteLine()
i = 1 For Each wpt As IAgVeWaypointsElement In greatArcFromRoot2.Waypoints Console.WriteLine("Point #{0} Altitude {1} {2}", i, wpt.Altitude, root2.UnitPreferences.GetCurrentUnitAbbrv("Distance")) System.Threading.Interlocked.Increment(i) Next
root1.CloseScenario()
|
|