AGI STK VGT 11 Send comments on this topic.
CreateEventArrayConditionCrossings Method (IAgCrdnEventArrayFactory)
See Also  Example
Name
Description





Description

Create an event array containing times at which the specified condition will change its satisfaction status.

Syntax

[Visual Basic .NET]
Public Function CreateEventArrayConditionCrossings( _
   ByVal Name As String, _
   ByVal Description As String _
) As IAgCrdnEventArray

[C#]
public IAgCrdnEventArray CreateEventArrayConditionCrossings(
string Name,
string Description
);

[Managed C++]
public: IAgCrdnEventArray^ CreateEventArrayConditionCrossings(
String __gc ^ Name,
String __gc ^ Description
);

[Java]
public IAgCrdnEventArray createEventArrayConditionCrossings(
String Name,
String Description
);

[Unmanaged C++]
public: HRESULT CreateEventArrayConditionCrossings(
BSTR Name,
BSTR Description,
IAgCrdnEventArray ** ReturnValue
);

Parameters

Name
Description

Remarks

Spaces and most punctuation ( except for "-_().") cannot be used as a part of a component name when creating new components via VGT API.

Example

Create and configure condition crossings event array.
[C#] Copy Code
IAgCrdnEventArray eventArray = provider.EventArrays.Factory.CreateEventArrayConditionCrossings("MyEventArrayConditionCrossings""MyDescription"); 
IAgCrdnEventArrayConditionCrossings asConditionCrossings = eventArray as IAgCrdnEventArrayConditionCrossings; 
 
IAgCrdnCondition scalarBound = provider.Conditions.Factory.CreateConditionScalarBounds("Bound""MyDescription"); 
IAgCrdnConditionScalarBounds asScalarBounds = scalarBound as IAgCrdnConditionScalarBounds; 
asScalarBounds.Scalar = provider.CalcScalars["GroundTrajectory.Detic.LLA.Latitude"]; 
asScalarBounds.Operation = AgECrdnConditionThresholdOption.eCrdnConditionThresholdOptionInsideMinMax; 
//asScalarBounds.Set(-0.349, 0); 
 
asConditionCrossings.Condition = scalarBound; 
 
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 condition crossings event array.
[Visual Basic .NET] Copy Code
Dim eventArray As IAgCrdnEventArray = provider.EventArrays.Factory.CreateEventArrayConditionCrossings("MyEventArrayConditionCrossings", "MyDescription")
Dim asConditionCrossings As IAgCrdnEventArrayConditionCrossings = TryCast(eventArray, IAgCrdnEventArrayConditionCrossings)

Dim scalarBound As IAgCrdnCondition = provider.Conditions.Factory.CreateConditionScalarBounds("Bound", "MyDescription")
Dim asScalarBounds As IAgCrdnConditionScalarBounds = TryCast(scalarBound, IAgCrdnConditionScalarBounds)
asScalarBounds.Scalar = provider.CalcScalars("GroundTrajectory.Detic.LLA.Latitude")
asScalarBounds.Operation = AgECrdnConditionThresholdOption.eCrdnConditionThresholdOptionInsideMinMax
'asScalarBounds.Set(-0.349, 0);

asConditionCrossings.Condition = scalarBound

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 < numTimes
        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

See Also

© 2016 All Rights Reserved.

STK Programming Interface 11.0.1