Attitude

The entity library provides default support for several attitude types. Currently, only AgPointEntity supports attitude, via its Attitude property. The supported attitude types are Quaternion, via the AgEntityAttitudeQuaternion object, Euler, via the AgEntityAttitudeEuler object, and Yaw, Pitch, Roll, by using a Euler attitude with a 321 sequence.

While each attitude type has its own corresponding interface, they all implement IAgEntityAttitude, which has a single property, ReferenceAxis. While this free form string can be set to anything, when used with AGI products it must match the Reference Axis you would normally set for an object in STK, for example, “CentralBody/Earth Fixed.”

One side effect of adding attitude to your entities is that if you are using STK, STK Engine or AGI Viewer, your track will be represented as a “heavy” object, instead of an MTO. This can cause performance issues when working with large numbers of tracks. For further details concerning this issue, see STK Object Model Broker.

using AGI.Entity;
AgEntityAttitudeEuler EulerAttitude = new AgEntityAttitudeEuler();
EulerAttitude.ReferenceAxis = "CentralBody/Earth Fixed";
EulerAttitude.Sequence = AgEEntityAttitudeSequence.eEntityAttitudeSequence321;
EulerAttitude.Angle1 = 12;
EulerAttitude.Angle2 = 41;
EulerAttitude.Angle3 = 10;
PointEntity.Attitude = EulerAttitude as IAgEntityAttitude;

PointEntity.CommitUpdate(AgEEntityUpdate.eEntityUpdate);

STK Programming Interface 11.0.1