AGI STK VGT 11 Send comments on this topic.
IAgCrdnEventArrayExtrema Interface





Description

Determines times of local minimum and/or maximum of specified scalar calculation. Determination is performed within interval list using Sampling and Convergence parameters.

Object Model





Public Properties

Public Property Calculation The scalar calculation.
Public Property Convergence The Convergence definition, which uses time tolerance to determine when time of extremum is found.
Public Property CustomTimeLimits A custom interval list or a single interval. It is by default set to overall availability of host object. This determines time limits within which global minimum or maximum is sought.
Public Property ExtremumType The extremum type (either minimum or maximum) from the time instant.
Public Property IsGlobal Indicates whether to perform local or global search. The default is false.
Public Property Sampling The Sampling definition, which can use a fixed step, relative tolerance or curvature tolerance. Relative tolerance uses a combination of relative and absolute changes in scalar values between samples. Curvature tolerance also uses changes in slope between samples.
Public Property SaveDataOption Specify whether computed time of extrema is saved/loaded, otherwise it is recomputed on load if necessary.
Public Property UseCustomTimeLimits Indicate whether to use specified custom interval list (see CustomTimeLimits).

Example

Create and configure extrema event array.
[C#] Copy Code
IAgCrdnEventArray eventArray = provider.EventArrays.Factory.CreateEventArrayExtrema("MyEventArrayExtrema",  "MyDescription"); 
IAgCrdnEventArrayExtrema asExtrema = eventArray as IAgCrdnEventArrayExtrema; 
 
asExtrema.Calculation = provider.CalcScalars["GroundTrajectory.Detic.LLA.Altitude"]; 
 
asExtrema.IsGlobal = true
asExtrema.ExtremumType = AgECrdnExtremumConstants.eCrdnExtremumMaximum; 
 
IAgCrdnFindTimesResult timeArrays = eventArray.FindTimes(); 
if (timeArrays.IsValid) 

    Console.WriteLine("Times"); 
    int numTimes = timeArrays.Times.GetLength(0); 
    for (int i = 0; i < numTimes; ++i) 
    { 
        Console.WriteLine(timeArrays.Times.GetValue(i)); 
    } 
 
    foreach (IAgCrdnInterval timeArray in timeArrays.Intervals) 
    { 
        Console.WriteLine("Start: " + timeArray.Start); 
        Console.WriteLine("Stop: " + timeArray.Stop); 
    } 

 

Create and configure extrema event array.
[Visual Basic .NET] Copy Code
Dim eventArray As IAgCrdnEventArray = provider.EventArrays.Factory.CreateEventArrayExtrema("MyEventArrayExtrema", "MyDescription")
Dim asExtrema As IAgCrdnEventArrayExtrema = TryCast(eventArray, IAgCrdnEventArrayExtrema)

asExtrema.Calculation = provider.CalcScalars("GroundTrajectory.Detic.LLA.Altitude")

asExtrema.IsGlobal = True
asExtrema.ExtremumType = AgECrdnExtremumConstants.eCrdnExtremumMaximum

Dim timeArrays As IAgCrdnFindTimesResult = eventArray.FindTimes()
If timeArrays.IsValid Then
    Console.WriteLine("Times")
    Dim numTimes As Integer = timeArrays.Times.GetLength(0)
    Dim i As Integer = 0
    While i <>
        Console.WriteLine(timeArrays.Times.GetValue(i))
        System.Threading.Interlocked.Increment(i)
    End While

    For Each timeArray As IAgCrdnInterval In timeArrays.Intervals
        Console.WriteLine("Start: " + timeArray.Start)
        Console.WriteLine("Stop: " + timeArray.[Stop])
    Next
End If

CoClasses that Implement IAgCrdnEventArrayExtrema

© 2016 All Rights Reserved.

STK Programming Interface 11.0.1