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






Windows & Linux

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

© 2018 Analytical Graphics, Inc. All Rights Reserved.