AGI STK Objects 11 Send comments on this topic.
AccessTimePeriod Property (IAgStkAccess)
See Also  Example





Description

Specifies the time period option. A member of the AgEAccessTimeType enumeration.

Property type

Read-write property

Syntax

[Visual Basic .NET]
Public Property AccessTimePeriod() As AgEAccessTimeType

[C#]
public AgEAccessTimeType AccessTimePeriod {get; set;}

[Managed C++]
public: __property AgEAccessTimeType get_AccessTimePeriod();
public: __property void set_AccessTimePeriod(
AgEAccessTimeType
);

[Unmanaged C++]
public: HRESULT get_AccessTimePeriod(
AgEAccessTimeType * pRetVal
);
public: HRESULT put_AccessTimePeriod(
AgEAccessTimeType NewAccessTimePeriod
);

[Java]
public AgEAccessTimeType getAccessTimePeriod();public void setAccessTimePeriod(
AgEAccessTimeType
);

Example

Configure the access analysis time period to specified time instants.
[C#] Copy Code
IAgStkObject uav = stkRoot.GetObjectFromPath("/Aircraft/UAV"); 
IAgStkObject sensor = stkRoot.GetObjectFromPath("/Aircraft/UAV/Sensor/UAVSensor"); 
IAgStkObject coloradoSprings = stkRoot.GetObjectFromPath("/Place/ColoradoSprings"); 
 
// For this code snippet, let's use the time interval when the UAV reached min and max altitude values. 
// Note, this assumes time at min happens before time at max. 
IAgCrdnEvent timeOfAltMin = uav.Vgt.Events["GroundTrajectory.Detic.LLA.Altitude.TimeOfMin"]; 
IAgCrdnEvent timeOfAltMax = uav.Vgt.Events["GroundTrajectory.Detic.LLA.Altitude.TimeOfMax"]; 
 
// Set the access time period with the times we figured out above. 
IAgStkAccess access = sensor.GetAccessToObject(coloradoSprings); 
access.AccessTimePeriod = AgEAccessTimeType.eUserSpecAccessTime; 
IAgAccessTimePeriod accessTimePeriod = access.AccessTimePeriodData as IAgAccessTimePeriod; 
 
accessTimePeriod.AccessInterval.State = AgECrdnSmartIntervalState.eCrdnSmartIntervalStateStartStop; 
 
IAgCrdnEventSmartEpoch accessStartEpoch = accessTimePeriod.AccessInterval.GetStartEpoch(); 
accessStartEpoch.SetImplicitTime(timeOfAltMin); 
accessTimePeriod.AccessInterval.SetStartEpoch(accessStartEpoch); 
 
IAgCrdnEventSmartEpoch accessStopEpoch = accessTimePeriod.AccessInterval.GetStopEpoch(); 
accessStopEpoch.SetImplicitTime(timeOfAltMax); 
accessTimePeriod.AccessInterval.SetStopEpoch(accessStopEpoch); 
 

Configure the access interval to the availability time span of the object where access is being computed to.
[C#] Copy Code
IAgStkObject satellite = stkRoot.GetObjectFromPath("/Satellite/GEO"); 
IAgStkObject otherObject = stkRoot.GetObjectFromPath("/Aircraft/UAV/Sensor/UAVSensor"); 
IAgStkAccess access = satellite.GetAccessToObject(otherObject); 
 
access.AccessTimePeriod = AgEAccessTimeType.eUserSpecAccessTime; 
IAgAccessTimePeriod accessTimePeriod = access.AccessTimePeriodData as IAgAccessTimePeriod; 
 
if (otherObject.Vgt.EventIntervals.Contains("AvailabilityTimeSpan")) 

    IAgCrdnEventInterval availabilityTimeSpan = otherObject.Vgt.EventIntervals["AvailabilityTimeSpan"]; 
    accessTimePeriod.AccessInterval.SetImplicitInterval(availabilityTimeSpan); 

 

Configure the access analysis time period to specified time instants.
[Visual Basic .NET] Copy Code
Dim uav As IAgStkObject = stkRoot.GetObjectFromPath("/Aircraft/UAV")
Dim sensor As IAgStkObject = stkRoot.GetObjectFromPath("/Aircraft/UAV/Sensor/UAVSensor")
Dim coloradoSprings As IAgStkObject = stkRoot.GetObjectFromPath("/Place/ColoradoSprings")

' For this code snippet, let's use the time interval when the UAV reached min and max altitude values.
' Note, this assumes time at min happens before time at max.
Dim timeOfAltMin As IAgCrdnEvent = uav.Vgt.Events("GroundTrajectory.Detic.LLA.Altitude.TimeOfMin")
Dim timeOfAltMax As IAgCrdnEvent = uav.Vgt.Events("GroundTrajectory.Detic.LLA.Altitude.TimeOfMax")

' Set the access time period with the times we figured out above.
Dim access As IAgStkAccess = sensor.GetAccessToObject(coloradoSprings)
access.AccessTimePeriod = AgEAccessTimeType.eUserSpecAccessTime
Dim accessTimePeriod As IAgAccessTimePeriod = TryCast(access.AccessTimePeriodData, IAgAccessTimePeriod)

accessTimePeriod.AccessInterval.State = AgECrdnSmartIntervalState.eCrdnSmartIntervalStateStartStop

Dim accessStartEpoch As IAgCrdnEventSmartEpoch = accessTimePeriod.AccessInterval.GetStartEpoch()
accessStartEpoch.SetImplicitTime(timeOfAltMin)
accessTimePeriod.AccessInterval.SetStartEpoch(accessStartEpoch)

Dim accessStopEpoch As IAgCrdnEventSmartEpoch = accessTimePeriod.AccessInterval.GetStopEpoch()
accessStopEpoch.SetImplicitTime(timeOfAltMax)
accessTimePeriod.AccessInterval.SetStopEpoch(accessStopEpoch)

Configure the access interval to the availability time span of the object where access is being computed to.
[Visual Basic .NET] Copy Code
Dim satellite As IAgStkObject = stkRoot.GetObjectFromPath("/Satellite/GEO")
Dim otherObject As IAgStkObject = stkRoot.GetObjectFromPath("/Aircraft/UAV/Sensor/UAVSensor")
Dim access As IAgStkAccess = satellite.GetAccessToObject(otherObject)

access.AccessTimePeriod = AgEAccessTimeType.eUserSpecAccessTime
Dim accessTimePeriod As IAgAccessTimePeriod = TryCast(access.AccessTimePeriodData, IAgAccessTimePeriod)

If otherObject.Vgt.EventIntervals.Contains("AvailabilityTimeSpan") Then
    Dim availabilityTimeSpan As IAgCrdnEventInterval = otherObject.Vgt.EventIntervals("AvailabilityTimeSpan")
    accessTimePeriod.AccessInterval.SetImplicitInterval(availabilityTimeSpan)
End If

See Also

© 2016 Analytical Graphics, Inc. All Rights Reserved.

STK Programming Interface 11.0.1