AGI STK Graphics 11 Send comments on this topic.
IAgStkGraphicsCompositeDisplayCondition Collection





Description

A composite of display conditions combined using a Binary Logic Operation. For example, several Time Interval Display Condition objects can be added to a composite. The composite can then be assigned to an object so the object is only rendered when the current animation time is within one of the time intervals.

Object Model

Public Methods

Public Method Add Adds a display condition to the end of the composite.
Public Method AddWithNegate Adds a display condition to the end of the composite.
Public Method Clear Removes all display conditions from the composite.
Public Method GetNegate Determines if a logical not operation is applied to a display condition in the composite.
Public Method GetNegateAt Determines if a logical not operation is applied to a display condition in the composite.
Public Method Insert Inserts a display condition at the given zero-based index, shifting existing display conditions.
Public Method InsertWithNegate Inserts a display condition at the given zero-based index, shifting existing display conditions.
Public Method Remove Removes a display condition from the composite.
Public Method RemoveAt Removes the display condition at the given zero-based index, shifting existing display conditions.
Public Method Reserve Requests enough memory for the composite to contain at least count display conditions. Count will not be affected but Capacity may be.
Public Method SetNegate Sets if a logical not operation is applied to a display condition in the composite when the composite is evaluated.
Public Method SetNegateAt Sets if a logical not operation is applied to a display condition in the composite when the composite is evaluated.

Public Properties

Public Property Capacity Gets the number of display conditions for which memory has been allocated. This will always be greater or equal to Count.
Public Property Count Gets the number of display conditions in the composite.
Public Property Item Returns the condition at the given zero-based index.
Public Property LogicOperation Gets or sets the binary logic operation applied to all display conditions in the composite when the composite is evaluated. To combine logical and and or operations in the same expression, create composites containing composites.

Example

Draw a primitive based on multiple conditions
[C#] Copy Code
IAgStkGraphicsSceneManager manager = ((IAgScenario)root.CurrentScenario).SceneManager; 
Array position = new object[] {29.98, -90.250.0 }; 
 
IAgStkGraphicsModelPrimitive model = manager.Initializers.ModelPrimitive.InitializeWithStringUri( 
    modelFile); 
model.SetPositionCartographic("Earth"ref position); 
model.Scale = Math.Pow(101.5); 
 
IAgDate start1 = root.ConversionUtility.NewDate("UTCG""30 May 2008 14:00:00.000"); 
IAgDate end1 = root.ConversionUtility.NewDate("UTCG""30 May 2008 14:30:00.000"); 
((IAgAnimation)root).CurrentTime = double.Parse(start1.Format("epSec")); 
IAgDate start2 = root.ConversionUtility.NewDate("UTCG""30 May 2008 15:00:00.000"); 
IAgDate end2 = root.ConversionUtility.NewDate("UTCG""30 May 2008 15:30:00.000"); 
 
IAgStkGraphicsTimeIntervalDisplayCondition time1 = manager.Initializers.TimeIntervalDisplayCondition.InitializeWithTimes(start1, end1); 
IAgStkGraphicsTimeIntervalDisplayCondition time2 = manager.Initializers.TimeIntervalDisplayCondition.InitializeWithTimes(start2, end2); 
IAgStkGraphicsCompositeDisplayCondition composite = manager.Initializers.CompositeDisplayCondition.Initialize(); 
 
composite.Add((IAgStkGraphicsDisplayCondition)time1); 
composite.Add((IAgStkGraphicsDisplayCondition)time2); 
composite.LogicOperation = AgEStkGraphicsBinaryLogicOperation.eStkGraphicsBinaryLogicOperationOr; 
((IAgStkGraphicsPrimitive)model).DisplayCondition = composite as IAgStkGraphicsDisplayCondition; 
 
IAgCrdnAxesFindInAxesResult result = root.VgtRoot.WellKnownAxes.Earth.Fixed.FindInAxes(((IAgScenario)root.CurrentScenario).Epoch, (( IAgCrdnAxes)axes)); 
model.Orientation = result.Orientation; 
 
manager.Primitives.Add((IAgStkGraphicsPrimitive)model); 
 

Draw a primitive based on multiple conditions
[Visual Basic .NET] Copy Code
Dim manager As IAgStkGraphicsSceneManager = DirectCast(root.CurrentScenario, IAgScenario).SceneManager
Dim position As Array = New Object() {29.98, -90.25, 0.0}

Dim model As IAgStkGraphicsModelPrimitive = manager.Initializers.ModelPrimitive.InitializeWithStringUri( _
    modelFile)
model.SetPositionCartographic("Earth", position)
model.Scale = Math.Pow(10, 1.5)

Dim start1 As IAgDate = root.ConversionUtility.NewDate("UTCG", "30 May 2008 14:00:00.000")
Dim end1 As IAgDate = root.ConversionUtility.NewDate("UTCG", "30 May 2008 14:30:00.000")
DirectCast(root, IAgAnimation).CurrentTime = Double.Parse(start1.Format("epSec"))
Dim start2 As IAgDate = root.ConversionUtility.NewDate("UTCG", "30 May 2008 15:00:00.000")
Dim end2 As IAgDate = root.ConversionUtility.NewDate("UTCG", "30 May 2008 15:30:00.000")

Dim time1 As IAgStkGraphicsTimeIntervalDisplayCondition = manager.Initializers.TimeIntervalDisplayCondition.InitializeWithTimes(start1, end1)
Dim time2 As IAgStkGraphicsTimeIntervalDisplayCondition = manager.Initializers.TimeIntervalDisplayCondition.InitializeWithTimes(start2, end2)
Dim composite As IAgStkGraphicsCompositeDisplayCondition = manager.Initializers.CompositeDisplayCondition.Initialize()

composite.Add(DirectCast(time1, IAgStkGraphicsDisplayCondition))
composite.Add(DirectCast(time2, IAgStkGraphicsDisplayCondition))
composite.LogicOperation = AgEStkGraphicsBinaryLogicOperation.eStkGraphicsBinaryLogicOperationOr
DirectCast(model, IAgStkGraphicsPrimitive).DisplayCondition = TryCast(composite, IAgStkGraphicsDisplayCondition)

Dim result As IAgCrdnAxesFindInAxesResult = root.VgtRoot.WellKnownAxes.Earth.Fixed.FindInAxes(DirectCast(root.CurrentScenario, IAgScenario).Epoch, DirectCast(axes, IAgCrdnAxes))
model.Orientation = result.Orientation

manager.Primitives.Add(DirectCast(model, IAgStkGraphicsPrimitive))

Display a Primitive During an Interval
[MATLAB] Copy Code
% IAgScenario scenario: Scenario object 
% IAgStkGraphicsModelPrimitive model: Graphics Primitive 
manager = scenario.SceneManager; 
composite = manager.Initializers.CompositeDisplayCondition.Initialize; 
start = root.ConversionUtility.NewDate('EpSec', num2str(scenario.StartTime)); 
stop = root.ConversionUtility.NewDate('EpSec', num2str(scenario.StartTime + 600)); 
timeInterval = manager.Initializers.TimeIntervalDisplayCondition.InitializeWithTimes(start, stop); 
composite.Add(timeInterval); 
model.DisplayCondition = composite; 
 
 

See Also

CoClasses that Implement IAgStkGraphicsCompositeDisplayCondition

© 2016 All Rights Reserved.

STK Programming Interface 11.0.1