STK Vector Geometry ToolSend comments on this topic.
IAgCrdnEventIntervalCollectionLighting Interface

Description

Defined by computing sunlight, penumbra and umbra intervals as seen at specified location using specified selection of eclipsing bodies.

Public Properties

Public Property EclipsingBodiesA custom list of eclipsing bodies. This list is used if UseObjectEclipsingBodies is set to false.
Public Property LocationThe location point to compute sunlight, penumbra and umbra.
Public Property UseObjectEclipsingBodiesWhen true, configure eclipsing bodies list based on that of parent STK Object.

Interfaces

CoClasses that Implement IAgCrdnEventIntervalCollectionLighting

Example

Create and configure lighting event interval collection.
[C#]
IAgCrdnEventIntervalCollection intervalCollection = provider.EventIntervalCollections.Factory.CreateEventIntervalCollectionLighting("MyIntervalCollectionLightning",  "MyDescription");
IAgCrdnEventIntervalCollectionLighting asCollectionLightning = intervalCollection as IAgCrdnEventIntervalCollectionLighting;

// Optionally use a separate central body
asCollectionLightning.UseObjectEclipsingBodies = true;
asCollectionLightning.Location = provider.Points["Center"];
asCollectionLightning.EclipsingBodies = new object[] { "Saturn", "Jupiter" };

IAgCrdnIntervalsVectorResult intervalResult = intervalCollection.FindIntervalCollection();
if (intervalResult.IsValid)
{
    foreach (IAgCrdnIntervalCollection intervals in intervalResult.IntervalCollections)
    {
        foreach (IAgCrdnInterval interval in intervals)
        {
            Console.WriteLine("Start: " + interval.Start);
            Console.WriteLine("Start: " + interval.Stop);
        }
    }
}
Create and configure lighting event interval collection.
[Visual Basic .NET]
Dim intervalCollection As IAgCrdnEventIntervalCollection = provider.EventIntervalCollections.Factory.CreateEventIntervalCollectionLighting("MyIntervalCollectionLightning", "MyDescription")
Dim asCollectionLightning As IAgCrdnEventIntervalCollectionLighting = TryCast(intervalCollection, IAgCrdnEventIntervalCollectionLighting)

' Optionally use a separate central body
asCollectionLightning.UseObjectEclipsingBodies = True
asCollectionLightning.Location = provider.Points("Center")
asCollectionLightning.EclipsingBodies = New Object() {"Saturn", "Jupiter"}

Dim intervalResult As IAgCrdnIntervalsVectorResult = intervalCollection.FindIntervalCollection()
If intervalResult.IsValid Then
	For Each intervals As IAgCrdnIntervalCollection In intervalResult.IntervalCollections
		For Each interval As IAgCrdnInterval In intervals
			Console.WriteLine("Start: " + interval.Start)
			Console.WriteLine("Start: " + interval.[Stop])
		Next
	Next
End If
© 2024 Analytical Graphics, Inc. All Rights Reserved.