Click or drag to resize

What's New?

DME Component Libraries for .NET 2024 r3

Breaking Changes

  • An updated license file is now required to use DME Component Libraries. Current customers can obtain an updated license by contacting AGI support.

  • COLLADA model support will be removed from Insight3D in a future release. This format has been deprecated in STK Desktop 12.9. COLLADA models should be converted to the gLTF model format, using any of the readily available 3D modeling content creation tools, such as Blender, Maya, or Modo.

New Features

  • Added support to Insight3D for glTF 3D models which use the "KHR_mesh_quantization" extension.

Improvements

Bug Fixes

  • Corrected the algorithm used by Insight3D to compute ellipses, to ensure that the curve is closed.

  • Fixed an issue that prevented license validation from working correctly in .NET 8.

DME Component Libraries for .NET 2024 r2

Breaking Changes

  • Beginning with the next release, an updated license file will be required to use DME Component Libraries. An updated license file can be requested ahead of time by contacting AGI support to make your eventual upgrade easier.

  • COLLADA model support will be removed from Insight3D in a future release. This format has been deprecated in STK Desktop 12.9. COLLADA models should be converted to the gLTF model format, using any of the readily available 3D modeling content creation tools, such as Blender, Maya, or Modo.

New Features

  • Added CircularEquatorialOrbitGrazingAngleConstraint which constrains access based on the angle between the directed line segment of the link to the closest point on the visible (unobstructed) arc of the circular equatorial orbit. Typically, only the minimum value would be set, to define a band of avoidance about the circular equatorial orbit.

  • Added AtmosphericAttenuationModelItuRP676Version10, a new version of the ITU-R P.676 signal propagation model, which computes attenuation by atmospheric gases and related effects.

Improvements

  • The IAU 2006 XYS data used to compute the International Celestial Reference Frame (ICRF) has been extended to include data until 2150. This matches data file updates made in STK Desktop 12.8.

  • An example using a glTF model with PBR materials has been added to the HowTo, replacing the ColladaFX example.

Bug Fixes

DME Component Libraries for .NET 2024 r1

Breaking Changes

New Features

Improvements

Bug Fixes

  • The rate properties of LifetimeElements computed by LifetimeOrbitPropagator have been corrected to be in units per second, consistent with the documentation for these properties. Previously, these values were in units per orbit revolution.

DME Component Libraries for .NET 2023 r2

Breaking Changes

  • Subclasses of TerrainPosts no longer directly expose their storage arrays. Post heights can be accessed through the indexer instead.

  • QuantizedMeshTerrainTile has been rewritten to reduce memory usage and to be immutable. Data not necessary for QuantizedMeshTerrainProvider calculations have been removed, and internal storage arrays are no longer directly accessible.

  • DilutionOfPrecision.GetCovariance() and DilutionOfPrecision.GetGeometryMatrix() have been deprecated. Use CovarianceMatrix and GeometryMatrix instead.

New Features

Improvements

DME Component Libraries for .NET 2023 r1

Breaking Changes

  • DME Component Libraries for .NET now targets .NET Standard 2.0 for analysis libraries, and .NET Framework 4.6.2 for Insight3D and related libraries. See the System Requirements topic for more information. Example applications have been changed to target .NET Framework 4.7.2.

  • Insight3D now depends on the Microsoft Visual C++ Redistributable for Visual Studio 2022, which should be installed on any system running an application using Insight3D. The installer for the current version of the redistributable is included in the install for ease of deployment.

  • SphericalHarmonicGravityCoefficients has been renamed to SphericalHarmonicCoefficients to reflect the fact that this class is now also used to describe spherical harmonic magnetic field coefficients. It has also been moved from the Orbit Propagation Library to the Models Library.

  • Several result classes have been renamed and converted to generic classes to allow them to contain different result types. DifferentialCorrectorStepResult has been renamed to MultivariableFunctionSolverStepResult. SolvableMultivariableFunctionEvaluationAndDerivativeResults has been renamed to MultivariableFunctionEvaluationAndDerivativeResults. MultivariableFunctionSolverResults is now a generic class and can contain various types of iteration results.

  • TropoScintAttenuationModelItuRP618Version12.DeepFadeOption has been removed, which reflects changes made in STK Desktop 12.6. The algorithm now selects the scintillation mode internally.

  • The protected constructor for SinglePointStoppablePropagator has been marked obsolete, and replaced by a new constructor which takes the parameters in a corrected order.

  • The classes containing version information for each library have been renamed as a result of the product name change. For example, StkComponentsCore is now CoreLibraryVersion.

New Features

Improvements

  • STK Components has been renamed to DME Component Libraries.

  • Insight3D has been updated with internal code changes.

  • Added MagneticCoilTorque, which models the effects of a magnetic field vector on a spacecraft equipped with a magnetic coil.

  • Added JplDE440, which loads JPL DE440 ephemeris data.

  • Added GoldenSectionFindExtremum, which locates a local extremum of a function using the Golden section algorithm.

  • The data required by EarthGravityModel96MeanSeaLevel is now included within the library, removing the need to separately download the external data file WW15MGH.DAC.

Bug Fixes

STK Components for .NET 2022 r2

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2022 r1

Breaking Changes

New Features

Improvements

  • Several third-party libraries included as part of Insight3D have been updated to newer versions.

Bug Fixes

STK Components for .NET 2021 r3

Breaking Changes

  • Insight3D now depends on the Microsoft Visual C++ Redistributable for Visual Studio 2019, which should be installed on any system running an application using Insight3D. The installer for the current version of the redistributable is included in the install for ease of deployment.

  • Removed the following items:

    • GlobeOverlaySettings.UsePerPixelLighting

    • CameraSnapshotFileFormat.Ras

    • RenderPass.TranslucentLowRes

  • Removed the property NetworkContext.WebClient. Requests made by Insight3D are now always made using .NET APIs. To configure these network requests, either use the standard .NET APIs or application config file, or for fine-grained control, set NetworkContextConfigureRequestCallback, which will be called with each request before it is sent.

  • Sgp4Propagator now throws an exception when propagating a TwoLineElementSet with an EphemerisType of 4. Previously, EphemerisType was ignored, but recent changes to the TLE standards cause some of the other fields to refer to different parameters than the standard ephemeris type 0 TLEs. Also, TLEs with ephemeris type 4 require a special version of SGP4 called SGP4-XP to propagate correctly, which is not supported by STK Components.

New Features

Improvements

Bug Fixes

STK Components for .NET 2021 r2

Breaking Changes

  • In a future release, support for partial-trust applications will be removed. Microsoft no longer supports partially trusted code and recommends against its use. If you have a use case that requires partial-trust use of STK Components, contact AGI support.

  • TiremPropagationModel3_18, TiremPropagationData, and TiremPropagationMode have been moved from AGI.Foundation.Communications.dll to the new AGI.Foundation.Tirem.dll. This new library replaces the previous additional library which was required at runtime to use TIREM.

  • PolarizationSourceGetPolarizationEvaluator now returns SignalPolarizationEvaluator, which is a new evaluator type that computes Polarization for a given time and Signal. This allows polarization to vary based on the properties of the signal being propagated.

  • Removed the following items, which were marked obsolete in a previous release:

    • CommunicationLinkScalar.IntendedSignalIdentifier and CommunicationObjectScalar.IntendedSignalIdentifier

    • AtmosphericAttenuationModelItuRP676Version3, AtmosphericAttenuationModelItuRP676Version5, CloudFogAttenuationModelItuRP840Version3, RainAttenuationModelItuRP618Version9

    • Constants.SolarLuminosity

    • NavigationSignalCharacteristics.MCodeSubCarrierFrequency

    • Zero-argument and one-argument constructors in PropertyInvalidException

New Features

Improvements

Bug Fixes

STK Components for .NET 2021 r1

Breaking Changes

Improvements

Bug Fixes

  • Fixed an issue in AccessQueryAnd which would cause an erroneous delay evaluation to be created and lead to an exception.

STK Components for .NET 2020 r4

Breaking Changes

  • Removed the following items, which were marked obsolete in a previous release:

    • Static creation methods in EllipsoidSurfaceRegion.

    • Methods in TerrainAlongLine which only take a maximum terrain height parameter.

    • StkCityDatabase.GetCentralBody, StkCityDatabase.GetCityType, and StkCityDatabase.GetCountry.

    • StkFacilityDatabase.GetCentralBody and StkFacilityDatabase.GetNetwork.

    • SegmentPropagatorConstraint.Scaling and SegmentPropagatorConstraint.Tolerance.

    • SegmentPropagatorVariable.MaximumStep, SegmentPropagatorVariable.VariableTolerance, and SegmentPropagatorVariable.Scaling.

    • Constructors in AccessEntityFilter<TEntity>, EntityDynamicSensorFieldOfView<TEntity>, EntityPoint<TEntity>, and EntityAxes<TEntity> which do not take EntityParameter<TEntity> and TransactionParameter parameters.

    • TransactionParameter.Instance and EntityParameter.Instance.

    • PhasedArrayGainPattern.BacklobeSuppression

    • EvaluatorHelper.TimeIntervalCollectionIsTimeVarying, EvaluatorHelper.EvaluatorCollectionIsThreadSafe, and EvaluatorHelper.AvailabilityIntervals.

New Features

  • Added CentralBodyIntersection, a utility that can check for orbit intersection with a planet given two-body dynamics.

Improvements

  • Insight3D has been updated with internal code changes, including changes to glTF loading.

  • CartographicExtent can now be constructed with the value of π in native units of the extent. In addition, it now supports longitude wrapping and extents which cross the antimeridian.

Bug Fixes

STK Components for .NET 2020 r3

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2020 r2

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2020 r1

Breaking Changes

  • Removed the following items, which were marked obsolete in a previous release: GpsCommunicationsConstellation.Create (overload without rolloverCount), LinkGraphics.FollowSurface, TargetedSegmentListOperatorResults.SegmentsForNextOperator, and items related to multiple maneuvers for an ImpulsiveManeuverSegment.

  • The following methods have been marked obsolete and replaced by better named methods:

  • The ComputeElevationAngleAboveTerrain and ComputeTerrainIntersection methods in TerrainAlongLine specifying only a maximum terrain height parameter have been marked obsolete. Use the overloaded methods specifying both minimum and maximum terrain heights instead.

  • In AtmosphericAttenuationModelItuRP676Version3, AtmosphericAttenuationModelItuRP676Version5, and AtmosphericAttenuationModelItuRP676Version9, the API for providing custom atmospheric data from external sources has changed. The ITU-R P.676 model requires the atmospheric conditions for locations along the link path as it crosses multiple horizontal layers. The previous interface did not provide the needed values, and so the following properties have been removed: CustomPressure, CustomTemperature, and CustomWaterVaporPressure, and replaced with a new property CustomAtmosphericModel. This new property allows installation of a new definitional object, ItuRP676AtmosphericModel, which must provide an evaluator which can compute ItuRP676AtmosphericValues for a given JulianDate and Cartographic location. The evaluator will be evaluated at multiple locations along the link during signal propagation, depending on the link geometry and the model-defined atmospheric layers. Note that by default, the model uses values from the standard atmospheres from ITU-R P.835, which is the same as the previous default behavior.

  • Changed the default for TargetedSegmentListDifferentialCorrectorOnlyStoreFinalResults to true.

  • ScalarAngleInRange now throws PropertyInvalidException instead of ArithmeticException when the minimum or maximum angle range values are invalid.

New Features

Improvements

Bug Fixes

STK Components for .NET 2019 r5

Breaking Changes

  • Removed the following items, which were marked obsolete in a previous release: AtmosphericAttenuationModelItuRP676, CloudFogAttenuationModelItuRP840, RainAttenuationModelItuRP618, RainAttenuationModelItuRP838, TropoScintAttenuationModelItuRP618, ItuRP618RainAttenVersion, ItuRP618TropoScintVersion, ItuRP676Version, ItuRP838Version, ItuRP840Version. Also, IPropagateCollectionFromOnePoint was unused and has been removed.

  • InterpolationAlgorithm now derives from DefinitionalObject, and interpolation has been moved to a new Interpolator type, which can be obtained from an InterpolationAlgorithm by calling GetInterpolator. The purpose of this reorganization is to make these types more closely match the rest of STK Components, where a definitional object (InterpolationAlgorithm) represents the configuration for a calculation and produces an evaluator (Interpolator) which performs the calculations using a snapshot of the configuration, and also allows a consistent approach to thread safety. Note that some Interpolators are not safe for use from multiple threads simultaneously, and so must be handled using the techniques described in the Multithreading topic.

  • The following static properties have been marked obsolete: TransactionParameter.Instance and EntityParameter.Instance. Rather than using these global singleton parameters, construct instances of the appropriate parameter type where needed, and use those parameters in your problem definitions.

  • AccessEntityFilter<TEntity>, EntityDynamicSensorFieldOfView<TEntity>, EntityPoint<TEntity>, and EntityAxes<TEntity> now must be constructed with instances of EntityParameter<TEntity> and TransactionParameter. The other constructors have been marked obsolete.

  • The following helper methods in EvaluatorHelper have been marked obsolete: TimeIntervalCollectionIsTimeVarying, EvaluatorCollectionIsThreadSafe, AvailabilityIntervals. Use the other helper methods with more consistent names.

  • SolverConstraintSettings and SolverVariableSettings now derive from DefinitionalObject.

  • The following properties in SegmentPropagatorConstraint have been marked obsolete, as the properties may be directly set on the underlying SolverConstraintSettings: SegmentPropagatorConstraint.Scaling and SegmentPropagatorConstraint.Tolerance.

  • The following properties in SegmentPropagatorVariable have been marked obsolete, as the properties may be directly set on the underlying SolverVariableSettings: SegmentPropagatorVariable.MaximumStep, SegmentPropagatorVariable.VariableTolerance, and SegmentPropagatorVariable.Scaling.

New Features

Improvements

Bug Fixes

STK Components for .NET 2019 r4

No changes in this release. This release only contains changes that affect STK Components for Java.

STK Components for .NET 2019 r3

Breaking Changes

New Features

Improvements

  • Added a documentation page for numerical integrators, including examples on how to use them and guidelines on how to proceed for various types of problems.

Bug Fixes

STK Components for .NET 2019 r2

Breaking Changes

  • Removed the following items, which were marked obsolete in a previous release: ScopedEvaluatorGroup, KeplerianElements.PerifocalToCartesianMatrix, KeplerianElements.TrueAnomalyToMeanAnomaly, KeplerianElements.TrueAnomalyToEccentricAnomaly, KeplerianElements.MeanAnomalyToTrueAnomaly, KeplerianElements.MeanAnomalyToEccentricAnomaly, KeplerianElements.EccentricAnomalyToTrueAnomaly, KeplerianElements.EccentricAnomalyToMeanAnomaly, KeplerianElements.ComputeEccentricity, KeplerianElements.ComputeRadiusOfPeriapsis, KeplerianElements.ComputeRadiusOfApoapsis, KeplerianElements.ComputeTimeOfFlight, KeplerianElements.ComputeTimePastPeriapsis, KeplerianElements.ComputeTimePastPeriapsis, KeplerianElements.TimePastPeriapsisToTrueAnomaly, KeplerianElements.TimePastPeriapsisToMeanAnomaly, KeplerianElements.TimePastPeriapsisToEccentricAnomaly, KeplerianElements.SemimajorAxisToPeriod, ChildrenExtension.FindDescendents, EvaluatorHelper.IsAvailable, EvaluatorHelper.EvaluatorCollectionIsThreadSafe, EvaluatorHelper.EvaluatorCollectionIsTimeVarying, EvaluatorHelper.AvailabilityIntervals, TimeConstants.PicoSecond, Stereoscopic.AutomaticallyComputeProjectionDistance, CoverageDefinitionOnCentralBody, CoverageGridPoint, CoverageGridResult, CreateCoverageGridPointForAccess, DiscreteCoverageDefinitionOnCentralBody, GridStatistics, EllipsoidGrid, EllipsoidGridGlobal, EllipsoidGridIntersection, EllipsoidGridLatitudeBounds, EllipsoidGridLatitudeLine, EllipsoidGridLongitudeLine, EllipsoidGridPoint, EllipsoidGridRegions, EllipsoidGridSpecified.

  • ImpulsiveManeuverSegment now only works with a single maneuver. For multiple impulsive maneuvers, use multiple segments.

  • TargetedSegmentListOperatorResults.SegmentsForNextOperator is now obsolete. Obtain the segment propagators from the ParentConfiguration instead.

  • LinkGraphics.FollowSurface is now obsolete, replaced by the new ArcType property. Note that in most situations, this will not need to be configured, since the new default (CesiumArcType.None) is appropriate for drawing links.

  • Added new methods to IPropagatedSignalService to return the propagated signal before or after a specific propagation model.

  • The overload of GpsCommunicationsConstellation.Create taking a SEM almanac filename had a hard-coded value of 1 for rolloverCount, which is no longer correct for almanacs after April 7, 2019. A new overload has been added taking rolloverCount as a parameter.

  • Removed PolylinePrimitive.RenderInScreenSpace which was unintentionally made public in a previous release.

New Features

Improvements

Bug Fixes

STK Components for .NET 2019 r1

Breaking Changes

  • The following signal propagation models have been marked obsolete, and replaced with new classes which specify the version in the name. Having separate implementations per version of the model allows more flexibility in cases where different versions of the model have different configurable parameters. The following list specifies the replacement classes which match the same version of the model as the obsolete implementations. Note that some models now have additional versions available, including newer versions, which are listed in the New Features section below.

    • AtmosphericAttenuationModelItuRP676 is replaced by AtmosphericAttenuationModelItuRP676Version5.

    • CloudFogAttenuationModelItuRP840 is replaced by CloudFogAttenuationModelItuRP840Version3.

    • RainAttenuationModelItuRP618 is replaced by RainAttenuationModelItuRP618Version9.

    • RainAttenuationModelItuRP838 is replaced by RainAttenuationModelItuRP838Version3.

    • TropoScintAttenuationModelItuRP618 is replaced by TropoScintAttenuationModelItuRP618Version9.

New Features

Improvements

Bug Fixes

  • Fixed an issue where EllipsoidRhumbLine would compute incorrect values related to the distance along the curve for the case of a sphere.

  • Fixed several issues in TranslationalMotionInterpolator related to multiple data elements at segment boundaries. The interpolator will now choose either the first or last datum depending upon whether or not interpolation is to the boundary or from (inclusive) the boundary.

  • Fixed an issue where the interpolator for the ICRF/ITRF transformation could throw an exception near the boundary of the valid dates for IAU 2006 data.

STK Components for .NET 2018 r4

Improvements

  • Added JulianDateAddClamped which clamps the result to the valid range of a JulianDate.

  • The example applications have been updated to fix errors when opening controls in the Visual Studio designer. Note that the errors in the designer did not affect building or running the applications. Because Visual Studio is still 32-bit, the designer cannot directly load the Insight3D control, which is 64-bit. Instead, we include a placeholder blank panel in the location where Insight3D should go, then create and add the Insight3D control to that panel in non-designer code.

Bug Fixes

  • Fixed a bug where the CentralBody would not be passed on to the generated grid points when ExtrudedCentralBodyCoverageGrid was used.

  • Fixed an issue where certain access constraints could throw an exception while evaluating in rare cases, when a very small, non-zero rate of change in the constrained value could cause a step size to be calculated which exceeds the valid range of a JulianDate.

  • Fixed a bug in RainAttenuationModelItuRP838 and CloudFogAttenuationModelItuRP840 that could cause an exception during propagation when the model's SignalPropagator was cloned, or used from multiple threads simultaneously.

STK Components for .NET 2018 r3

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2018 r2

New Features

Improvements

  • ScalarAtmosphericDensity and derived classes now have a configurable UpperHeightLimit property, above which the density model will return a value of zero. The default value for each model has been set to match the behavior of STK Desktop 11.3.

  • Calculations are now validated against the latest version of the Standards of Fundamental Astronomy (SOFA) Libraries, Issue 2018-01-30.

Bug Fixes

STK Components for .NET 2018 r1

Bug Fixes

STK Components for .NET 2017 r4

Breaking Changes

  • Removed the following items, which were marked obsolete in a previous release: SignalPolarization, AccessConstraintCollection.ConstraintAdded, AccessConstraintCollection.ConstraintRemoved, PlatformCollection.PlatformAdded, PlatformCollection.PlatformRemoved, StkEphemerisFile.CreateCovarianceIntepolator.

  • The following methods on KeplerianElements have been marked obsolete:

    • PerifocalToCartesianMatrix

    • TrueAnomalyToMeanAnomaly

    • TrueAnomalyToEccentricAnomaly

    • MeanAnomalyToTrueAnomaly

    • MeanAnomalyToEccentricAnomaly

    • EccentricAnomalyToTrueAnomaly

    • EccentricAnomalyToMeanAnomaly

    • ComputeEccentricity

    • ComputeRadiusOfPeriapsis

    • ComputeRadiusOfApoapsis

    • ComputeTimeOfFlight

    • ComputeTimePastPeriapsis

    • ComputeTimePastPeriapsis

    • TimePastPeriapsisToTrueAnomaly

    • TimePastPeriapsisToMeanAnomaly

    • TimePastPeriapsisToEccentricAnomaly

    • SemimajorAxisToPeriod

    Use the methods on OrbitalElements instead.

  • TimeConstants.PicoSecond has been marked obsolete and will be removed in a future release.

  • ChildrenExtension.FindDescendents was misspelled and has been marked obsolete. Use ChildrenExtensionFindDescendants instead.

New Features

Improvements

  • JulianDate, GregorianDate, and Duration now ensure that their values do not overflow when being constructed, or when performing arithmetic, and throw an exception as soon as a value is detected that is outside the valid range of values that can be stored.

  • The performance of CentralBodySurfaceRegionSensorVolumeConstraint has been improved for most use cases.

  • The fidelity of the range calculations in CloudFogAttenuationModelItuRP840 have been improved to match current versions of STK Desktop.

Bug Fixes

STK Components for .NET 2017 r3

Breaking Changes

  • CesiumGenerator and related classes now operate on IServiceProvider items. Previously, this system accepted items of type Object, but in practice, CZML generation always required IServiceProvider items.

  • BingMapsStyle.Hybrid has been marked obsolete. Microsoft now calls this map style BingMapsStyle.AerialWithLabels.

  • Removed the following types, methods, and properties, which were marked obsolete in a previous release: ScalarDependentOnLink, SignalParameter.Instance, CartesianParameter.Instance, DoubleParameter.Instance, Curve.ArcLength, Curve.InterpolateUsingArcLength, EvaluatorHelper.CollectionsAreSameEvaluatorHelper.Dispose overload taking a boolean, SegmentResults.AddEphemerid, RinexObservationHeader.TimeOfLastObservaton, and PropagateSegmentResults.AddStoppingConditionBackwardsAdapters overload taking a StoppingCondition.

New Features

Improvements

Bug Fixes

  • Fixed an issue with RectangularFilter where an exception was thrown if the input signal's lower bandwidth limit was equal to the filter's upper bandwidth limit, or if the input signal's upper bandwidth limit was equal to the filter's lower bandwidth limit.

  • BingMapsForEnterpriseImageGlobeOverlay previously used a web service which has been discontinued by Microsoft, preventing the globe overlay from working. It has been updated to use the currently supported web service to retrieve imagery metadata.

STK Components for .NET 2017 r2

Breaking Changes

New Features

Improvements

Bug Fixes

  • Fixed an issue with EllipsoidGeodesic that prevented computing the distance between two points that did not have a unique geodesic solution connecting them.

  • Fixed an issue with RainAttenuationModelItuRP618 with a configured CustomRainRate. The custom rain rate is now correctly expected to be in meters per second, and is documented as such. Previously, the value was treated as millimeters per hour.

  • Fixed an issue when writing TwoLineElementSets with values for BStar or MeanMotionDotDot that require leading zeros in the mantissa in place of digits greater than the maximum allowable in the exponent.

  • The set of LeapSeconds parsed from an EarthOrientationParametersFile and available from the EarthOrientationParametersLeapSeconds property were incorrect, and have been corrected. These leap seconds are for informational use, and are not used for analysis by STK Components.

  • Writing a LeapSecondFile previously produced unexpected output for the epoch of the rate at which the UTC time scale is slowing with respect to TAI. This data is not used, but by definition this value should always be 41317.

STK Components for .NET 2017 r1

New Features

Improvements

Bug Fixes

  • Fixed a bug when writing CZML that produced incorrect output when using a CompositePoint or CompositeAxes with the same point or axes contained in multiple intervals.

  • Fixed a bug when writing CZML with a CompositePoint or CompositeAxes where the axes or points contained by the composite could be evaluated outside of the interval over which the composite contains them, which could cause an exception while sampling.

  • Fixed an issue where DenseMatrix computed its hash code incorrectly.

STK Components for .NET 2016 r4

Breaking Changes

New Features

Improvements

  • Added JplDE430, which loads JPL DE430 ephemeris data.

  • ImpulsiveManeuverSegment will now honor the Orientation of the ImpulsiveManeuverInformation, and the StateElementAdapter for the propagated point, when run as a single segment, or when it is the first segment in a sequence producing ephemeris. This requires a StateElementAdapter to be set for the propagated point in those cases. If an adapter for the point is specified on an ImpulsiveManeuverSegment and it is not the first segment producing ephemeris, that adapter will be used at propagation time when producing the ephemeris.

  • Improved the exception message thrown by Sgp4Propagator when estimation of orbital elements fails.

  • LifetimeOrbitPropagator has been changed to match recent changes in STK. Specifically, a correction has been made to the J2^2 effects to eliminate unexpected eccentricity growth which could result in prediction of orbital lifetimes that were too short.

Bug Fixes

  • Fixed a bug when writing CZML that caused auxiliary properties, such as reference frame, interpolation settings, etc., to be incorrectly omitted from subsequent intervals after the first when using an interpolator with segment boundary times. These auxiliary properties are scoped in CZML at the interval level, so they must be included in all intervals in order to be loaded correctly.

  • Fixed an issue where an AxesAlignedConstrained would produce the incorrect orientation when configured with the principal axes as the AxisIndicator.Second and the reference axes as the AxisIndicator.First.

  • Fixed a bug in MultivariableFunctionDifferentialSolver where the maximum step of variables was misapplied. This fix will improve the numerical stability of the differential corrector.

  • Fixed an issue where EllipsoidSurfaceRegionIsPointInsideRegion could return incorrect results in cases where the region under consideration is very large relative to the size of the central body.

  • Fixed incorrect coefficients in finite differencing in the Route Design Library that affected derivatives in certain edge cases.

STK Components for .NET 2016 r3

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2016 r2

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2016 r1

Breaking Changes

New Features

Improvements

Bug Fixes

  • Fixed an issue where a non-thread-safe AccessConstraintEvaluator was not always copied before being used from another thread, specifically when evaluating access with an interval collection with more than one interval, and when one of those intervals is zero-duration.

  • Fixed an issue where ScalarOccultation could throw an exception in rare cases where a platform is very far away from a central body.

  • Corrected an issue where CZML name and parent properties would only be written if the item also had other CZML graphical properties defined. These properties are now written by new NameCesiumSource and ParentCesiumSource objects.

STK Components for .NET 2015 r3

Breaking Changes

New Features

  • You can now specify custom weather-related values that vary with time or position when using signal propagation models in the Communications Library, by providing a ScalarDependentOnLink instance. Previously, these values had to be constant values.

  • Added new high level communications objects for modeling digital communications at optical wavelengths: OpticalTransmitter and OpticalReceiver.

  • Added photodiode photodetector objects to model the detector output signal-to-noise ratio, including both sky and sun background light noise: AvalanchePhotodiode and PinPhotodiode.

  • Added an optical antenna gain pattern, GaussianOpticalGainPattern, for modeling the beam profile of the transmit or receive optics. The model takes the aperture diameter and divergence angle as input and also includes the ability to provide a fixed pointing offset from the link line-of-sight vector.

  • Added TropoScintAttenuationModelItuRP1814, which implements the ITU-R P.1814 (Section 5 Scintillation effects) tropospheric scintillation propagation loss model for modeling scintillation loss in the optical frequency band. The model can use a custom RefractiveIndexStructureParameterModel, or by default uses the new HufnagelValleyRefractiveIndexStructureParameterModel, which implements the Hufnagel-Valley (H-V) model.

  • Added BeerLambertLawAtmosphericAttenuationModel, which implements the Beer-Lambert Law atmospheric absorption model for modeling atmospheric absorption/scattering in the optical frequency band.

  • Added ModulationOok, which implements the On-off Keying (OOK) modulation scheme, typically used in digital optical communications, for modeling Bit-Error-Rate vs Eb/No.

  • Added PointAtAltitude which projects a reference point's motion onto a surface of constant altitude.

Improvements

Bug Fixes

STK Components for .NET 2015 r2

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2015 r1

New Features

Improvements

  • Improved the behavior of writing out a TwoLineElementSet with a satellite number that is less than 5 digits.

  • Added the June 2015 leap second to the default LeapSecondsFacet.

Bug Fixes

STK Components for .NET 2014 r7

This release includes an updated Software License Agreement.

Improvements

Bug Fixes

STK Components for .NET 2014 r6

Improvements

  • 64-bit binaries of the Insight3D library are now available.

Bug Fixes

  • Fixed a crash which could occur when trying to generate CZML for an object whose ephemeris had segment boundary times.

STK Components for .NET 2014 r5

Breaking Changes

New Features

  • Introducing the Cesium Library, which can be used to generate CZML content from STK Components objects, so that they can be visualized using Cesium.

Improvements

  • All example solutions previously targeted to VS 2005 are now targeted to VS 2008.

Bug Fixes

STK Components for .NET 2014 r4

New Features

Improvements

Bug Fixes

STK Components for .NET 2014 r3

Breaking Changes

New Features

  • Added PrescribedAccelerationTransitionProfile, which allows users to specify a route profile which will apply a given thrust acceleration or deceleration over the inclined or level traversal between two waypoints.

Bug Fixes

  • Fixed a bug where constructing an EllipsoidSurfaceRegion larger than half of the ellipsoid's surface would result in the Centroid property representing the centroid of the area outside of the region rather than the inside of the region.

  • Fixed improper formatting with some of the exception messages thrown by KozaiIzsakMeanElements.

STK Components for .NET 2014 r2

Breaking Changes

New Features

Improvements

  • Axes, Point, and Vector can now return Scalar representations of their components.

  • Added CompositeAxes. This new Axes is defined by different axes over different intervals of time.

  • Added overloads to the EllipsoidSurfaceRegion static construction methods to allow the user to manually specify a reference point as being inside or outside of the region. This allows for the definition of regions larger than half of an Ellipsoid.

Bug Fixes

  • Fixed a bug where a ProjectedRaster would not update correctly when it was not being rendered. In addition, artifacts that could be displayed beneath the surface of the CentralBody when using a ProjectedRaster were removed.

STK Components for .NET 2014 r1

Breaking Changes

  • ProjectedRasterOverlay has been deprecated and replaced with the new primitive ProjectedRaster, which projects images and video onto terrain or the central body surface and contains the same functionality as the old ProjectedRasterOverlay class, but with some performance and visualization enhancements.

New Features

  • MathPlayer is no longer used in our documentation and has been removed from the install.

  • Added BallisticPropagator which allows for the easy calculation of two-body trajectories from and to fixed locations on a CentralBody. Solutions for minimum energy, minimum eccentricity, or matching specified values of delta-V, flight duration, or apogee altitude can be found.

  • Added new geometry types ScalarSine and ScalarCosine

  • Texture2DFactory can now create mipmap compatible textures.

Improvements

Bug Fixes

STK Components for .NET 2013 r7

Breaking Changes

New Features

  • Balloons can now have small borders.

  • Insight3D can now display KML super overlays.

Improvements

Bug Fixes

STK Components for .NET 2013 r6

Improvements

STK Components for .NET 2013 r5

Breaking Changes

New Features

Improvements

  • NumericalPropagationStateHistory now enforces ordering so that its entries will all exist in either forward- or reverse-chronological order, specified by its SortingFormat. The Add methods have been reworked so that they will now add a new entry to the correct index.

Bug Fixes

  • Using an AdaptiveNumericalIntegrator to integrate backwards, while that integrator is choosing adaptive steps, and while that integrator is truncating those adaptive steps, will no longer cause an erroneous exception to be thrown.

  • Fixed several memory leaks in Insight3D.

  • Fixed a bug that caused a CompositePrimitive nested inside an OrderedCompositePrimitive to not be rendered.

STK Components for .NET 2013 r4

New Features

  • Added the Navigation Advanced Library, which builds on the Navigation Accuracy Library and the Communications Library by considering how communication links contribute to GPS errors. GPS transmitters, signals, and a GPS receiver communications front end are modeled, allowing for GPS link budgets to be used in analysis, and to determine tracking using Carrier to Noise thresholds.

  • Added CentralBodySurfaceRegionSensorVolumeConstraint to constrain access based on whether a sensor can see part of a surface region (or area target) on the ground.

  • Added CompositePoint. This new Point is defined by different points over different intervals of time.

  • Added ModulationFsk to support Frequency Shift Keying (FSK) modulation.

Bug Fixes

STK Components for .NET 2013 r3

Bug Fixes

STK Components for .NET 2013 r2

New Features

Bug Fixes

STK Components for .NET 2013 r1

New Features

Improvements

Bug Fixes

STK Components for .NET 2012 r7

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2012 r6

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2012 r5

Breaking Changes

New Features

Improvements

  • Modified TerrainAvoidanceProfile so that having a large effective pitch rate will no longer cause the profile to exaggerate the height above the terrain. This includes alternative heuristics to avoid cases where noisy terrain can cause problems when trying to navigate over local peaks. TerrainAvoidanceProfile should now be more reliable and create reasonable routes in most cases, though configuration errors may still result from certain difficult geometries.

  • Improved the reliability of the StandardTransitionProfileSegment to prevent numerical noise from causing conflict between the boundary conditions between profiles. The height of the profile at the end of a long surface segment will now be more precise with respect to the requested boundary condition.

  • Added a new Multiply method to Cartesian to multiply a Cartesian (treated as a row vector) by a Matrix3By3.

  • Added a constructor to Matrix3By3Symmetric that rounds the non-diagonal elements of a Matrix3By3. This provides a better way of constructing a symmetric matrix from a matrix which has become slightly non-symmetric due to numerical noise from the FromLowerTriangular and FromUpperTriangular methods.

Bug Fixes

STK Components for .NET 2012 r4

Breaking Changes

New Features

Improvements

Bug Fixes

STK Components for .NET 2012 r3

Breaking Changes

New Features

Improvements

  • StkEphemerisFile now supports the EphemerisLLRTimePos and EphemerisLLRTimePosVel formats.

  • BrentFindExtremum no longer throws an exception when the values it's given are already converged based on the independent variable tolerance.

Bug Fixes

STK Components for .NET 2012 r2

Breaking Changes

New Features

Improvements

Bug Fixes

  • Fixed a bug in StkEphemerisFile that caused distances to be read incorrectly when the file specified the DistanceUnit property.

  • Fixed a bug preventing CommunicationSystem from being used with CoverageDefinitionOnCentralBody.

  • Fixed a bug in TranslationalMotionInterpolator that caused it to arbitrarily return either of the two values when evaluated exactly on a segment boundary time. Now, it always returns the second value.

  • Fixed a bug in various caching evaluators that could cause them to return incorrect results when the underlying evaluator threw an exception and then the cache was evaluated again at the same time.

  • Fixed a bug where CoverageDefinitionOnCentralBody would report incorrect access results for assets defined to include an AccessQueryOr.

  • Fixed a bug that caused TwoLineElementSetToTleString to write a negative exponent for BStar and MeanMotionDotDot even in the rare case that their exponents are positive.

  • Fixed a bug that could prevent a ScreenOverlay from being returned in a call to Pick when an application had multiple Insight3D controls.

AGI Components for .NET 2012 r1a

Improvements

  • Added the recently-announced June 30, 2012 leap second to the default list of leap seconds.

AGI Components for .NET 2012 r1

Breaking Changes

New Features

Improvements

Bug Fixes

AGI Components for .NET 2011 r9

Breaking Changes

New Features

Improvements

Bug Fixes

  • StkEphemerisFile now reads the InterpolationSamplesM1 property written by recent versions of STK. Previously, it ignored the property, which could result in incorrect interpolation.

  • Fixed a bug in TranslationalMotionInterpolator that could cause it to interpolate using more points than expected when used with HermitePolynomialApproximation.

  • References to a single instance of a NumericalPropagator held by multiple objects will now get updated properly when those objects are cloned.

  • Fixed a bug where specifying values near zero for the minimum threshold of a CommunicationObjectConstraint would cause the constraint to incorrectly report that access is not available.

  • Fixed a bug in Covariance3By3SizeAndOrientationInterpolator that could lead to incorrect results when the values of SigmaDegree and RotationDegree were different.

  • Fixed a bug in BrentFindExtremum that could cause it to produce NaNs and attempt to evaluate the function at invalid independent variable values when a function evaluated to positive or negative infinity.

  • Attempting to stop the cache thread for a TerrainCacheGroup that was already stopped now throws an exception instead of hanging.

  • Fixed a bug that could rarely cause an exception to be thrown when setting valid ModelPrimitive articulation values.

AGI Components for .NET 2011 r8

Breaking Changes

  • Two AxesAlignedConstrained properties, Principle and PrincipleAxis, were spelled incorrectly and have been marked obsolete. Please use Principal and PrincipalAxis instead.

  • ThreadingPolicyFacet, NumberOfProcessorsThreadingPolicyFacet, and ConstantThreadingPolicyFacet are now obsolete. Please use ThreadingPolicy instead.

  • Removed constructor overloads for BingMapsForEnterpriseImageGlobeOverlay taking an account ID and password, because the account ID and password are no longer required. These constructors were previously marked obsolete.

New Features

Improvements

Bug Fixes

  • Fixed a bug in PointPropagationParameter that could cause IsSameDefinition to erroneously return true.

  • Fixed a bug in StkEphemerisFile and StkAttitudeFile that caused them to generate incorrect results when working in a non-standard reference frame or set of axes.

  • Fixed a bug where a Signal created with a NoiseTemperature of 0.0 and a NoiseBandwidth of positive or negative infinity would end up with a NoisePower of NaN instead of 0.0.

  • Fixed a bug in EllipsoidSurfaceCurve that could cause EllipsoidGridRegions to produce grid points far outside the desired region.

  • Fixed a bug that prevented markers in KML documents in Insight3D from working with the newest NVidia GPU drivers and when running on certain other GPUs.

AGI Components for .NET 2011 r7

Breaking Changes

New Features

Improvements

  • LinkInstantaneous and LinkSpeedOfLight now have Name properties.

  • In Matrix3By3, the associated reordering of the eigenvectors to produce the proper sorting of the eigenvalues in the eigen decomposition of a symmetric matrix is now performed in such a manner as to preserve the "right-handedness" and rotational characteristic of the underlying Schur decomposition.

  • Improved performance and reduced memory requirements when writing an StkEphemerisFile that contains covariance information.

  • Due to a new license agreement between AGI and Microsoft, BingMapsForEnterpriseImageGlobeOverlay no longer shows an evaluation banner when not using a licensed account. All Insight3D applications can now use imagery from the Microsoft Bing Maps public servers free of charge.

Bug Fixes

AGI Components for .NET 2011 r6

Breaking Changes

New Features

Improvements

Bug Fixes

AGI Components for .NET 2011 r5

Breaking Changes

New Features

Improvements

  • Added the ScaleByInverse property to VectorScaled in order to make it more convenient to scale by the reciprocal of a scalar.

  • Evaluating many Scalars and Vectors without derivatives is now slightly more efficient.

Bug Fixes

  • Fixed a bug where parameters in a parameterized evaluator sometimes returned false from their IsTimeVarying property, leading to improper caching of their value.

  • Fixed a bug where TerrainAlongLine would report an obscured view if the one of the points was very slightly below the terrain surface. It is common to end up placing objects very slightly below terrain when attempting to put them on terrain, due to floating point rounding.

  • Fixed a bug in PointVectorToPoint that caused an exception when comparing it to another point of a different type.

  • DateMotionCollection<T>.AddRange now properly sets the Order property when invoked on an empty collection.

  • When using ServiceProviderDisplay, completely static models would not appear until the initial Update call, instead of appearing immediately after the call to ApplyChanges.

  • Fixed several memory leaks in Insight3D.

  • Fixed an exception that could occur in WebMapServiceCachedImageGlobeOverlay.

AGI Components for .NET 2011 r4

Breaking Changes

New Features

Improvements

  • Beginning with this release, AGI Components for .NET is distributed as a simple ZIP file instead of as an installer. We hope that you will find this more convenient, but we appreciate your feedback.

  • Improved the performance of AGIProcessedDataTerrain.

  • Improved the performance of AGIWorldTerrain.

  • ThreadedCalculation now installs a ConstantThreadingPolicyFacet specifying one thread in each thread that is used to do the computation. This ensures that parallelizable computations invoked within the thread are not themselves parallelized. As a result, the number of threads is closer to the number of cores in common use-cases, which improves performance by reducing context switch overhead. For example, when splitting a large coverage grid among multiple threads, the individual access computations that are performed for each grid point will not themselves be multithreaded.

  • Delayed transformation of CovarianceData when reading a StkEphemerisFile until the covariance data is accessed.

Bug Fixes

AGI Components for .NET 2011 r3

Bug Fixes

  • Fixed a bug that could lead to an access violation when using imagery overlays in Insight3D. This bug was introduced in AGI Components 2011 r2.

AGI Components for .NET 2011 r2

Breaking Changes

New Features

Improvements

  • Insight3D terrain and imagery now use per-pixel lighting on supported hardware, which improves visual quality.

  • Orbital element types now consistently throw an InvalidOperationException describing the issue when initialized from a rectilinear orbit. Previously, some types would throw a DivideByZeroException.

Bug Fixes

AGI Components for .NET 2011 r1

New Features

Improvements

Bug Fixes

  • Fixed a bug in DoubleFunctionExtrema, DurationFunctionExtrema, and JulianDateFunctionExtrema that could lead to an exception when evaluating over an extremely short interval.

  • Fixed a bug in DoubleFunctionExtrema that could cause it to report incorrect extrema.

  • Fixed a bug in DoubleFunctionThreshold that could cause it to report incorrect threshold crossings.

  • Fixed a bug in CoverageGridResult where the boundary vertices, if set beforehand, would become null after calling ApplyFilter.

  • Fixed a bug that incorrectly caused multiple items to be picked on older video cards or over Remote Desktop when TextBatchPrimitivePerItemPickingEnabled was set.

  • Fixed rendering problems with PathPrimitive on older (OpenGL 1.1) graphics cards.

  • Fixed a bug where KML network links would fail to refresh in certain configurations.

  • Fixed a bug in KmlNetworkLink that could lead to an exception when using query strings to request data.

  • Fixed a bug that could lead to an exception when visualizing a link using ServiceProviderDisplay.

AGI Components for .NET 2010 r11

Breaking Changes

New Features

  • Added PathPrimitive, which is similar to PolylinePrimitive, except it allows efficient addition and removal of points from the front or back of the polyline. See the Path Primitive topic.

  • Added PacketAcquirementYieldTime, PacketBufferLimit, and AllowFrameDrop properties to VideoStream, to provide more customization for video stream buffering and performance.

  • Added PrimitiveFactory to simplify creating primitives for common use cases such as polygons, circles, and latitude-longitude grids.

  • Added NetworkContext to configure additional network settings for acquiring resources from URIs in Insight3D. For instance, you can now set a proxy, set credentials, or configure certificate policies that can enable SSL connections.

Improvements

Bug Fixes

AGI Components for .NET 2010 r10

Breaking Changes

  • The StartTime property and the Propagate method of RoutePropagator were marked obsolete. Instead, use the PropagateFromTime method.

  • EarthOrientationParameters.GetUt1MinusUtc was marked obsolete. Use the equivalent ComputeUt1MinusUtc method instead.

New Features

Improvements

  • The performance of Sgp4Propagator has been improved.

  • AGI Components is now tested against Mono v2.8.

  • The performance of rendering models using ServiceProviderDisplay has been substantially improved.

Bug Fixes

  • Fixed an issue with AxesFromBankAngle that could cause a discontinuity when several tight turns were performed close together.

  • Fixed a bug in EvaluatorGroup that could cause top-level evaluators to not be cached even when retrieved multiple times.

  • Fixed an issue with StandardTransitionProfile where the profile was not using the user's SpeedReference in all cases. Also, in the event that the profile attempts a near-vertical path, the profile will now try to reconfigure the path to create a more flat profile to avoid an error where there is a discontinuity in speed in the middle of the profile.

  • Fixed a bug that could cause ModelPrimitives using some MDL models to be lit incorrectly.

  • Fixed a bug that caused ModelVisualizer to try to evaluate an object at the wrong time, leading to an exception.

  • Fixed a problem that could cause ground overlays loaded from a KML document to be rotated incorrectly.

AGI Components for .NET 2010 r9

Breaking Changes

  • AccessQueryOptions is now obsolete. Please specify the time observer directly rather than wrapping it in AccessQueryOptions.

  • Ellipsoid.SurfacePoint is now obsolete. Please use SurfacePosition instead.

  • TerrainProvider.Cache has been removed. It was previously marked obsolete.

  • The SetPositionRadius, SetPositionAzimuthElevation, TryCartographicToWindowCoordinate, CartographicToWindowCoordinate, TryWindowCoordinateToCartographic, WindowCoordinateToCartographic, ViewExtent (obsolete overloads only), and ViewSphere methods of Camera were removed. They were previously marked obsolete.

  • The ViewEntityFromOffset<TEntity>Shape property and constructor taking an ellipsoid were removed. They were previously marked obsolete.

New Features

Improvements

Bug Fixes

AGI Components for .NET 2010 r8

Breaking Changes

  • Classes that derive from CentralBody must now implement the PrincipalFrame property and the SynchronizeOrigins method.

  • The StkEphemerisFile class now only provides a valid interpolator for ephemeris files with Lagrange and Hermite interpolation methods. For GreatArc and other methods, users must construct an interpolator manually. Previous versions returned a partially-constructed but unusable interpolator for unsupported interpolation methods.

  • IsTimeVarying is now abstract on evaluator classes. If you are implementing your own evaluators, you will need to override this property.

  • Two protected methods on CustomImageGlobeOverlay, StartingUp and ShuttingDown, now take a Scene parameter. If you override these methods in a derived class, you will need to update your code.

New Features

Improvements

Bug Fixes

AGI Components for .NET 2010 r7

Breaking Changes

New Features

Improvements

Bug Fixes

AGI Components for .NET 2010 r6

Breaking Changes

New Features

  • Insight3D can now load and display KML documents and provide basic access to the underlying document object model (DOM). See the KML topic for more information.

  • Insight3D can now display rich HTML balloons attached to positions in a scene. See the Balloons topic for more information.

  • A new library, Platform Graphics, has been added that makes it easy and flexible to visualize Platforms, links, and other IServiceProviders, as well as the results of analyzing these objects, in Insight3D. For more information, see the Visualizing Platforms topic.

  • Added a Matrix6By6 type.

  • StkEphemerisFile can now read covariance data from an ephemeris file and interpolate over the data.

Improvements

  • Added a GetSearchRegion method to RasterSearchProcedure, making it easy to obtain the surface region corresponding to the search area.

  • Improved performance of MarkerBatchPrimitive when marker positions are constantly updated and the batch has a per-marker distance display condition.

Bug Fixes

AGI Components for .NET 2010 r5

Breaking Changes

New Features

Improvements

Bug Fixes

AGI Components for .NET 2010 r4

Breaking Changes

New Features

Improvements

Bug Fixes

AGI Components for .NET 2010 r3

Breaking Changes

  • LagrangePolynomialApproximation now uses additional derivatives in the input data, if available. Previously, only the input coordinate values were used to compute the Lagrange polynomial. Higher-order output, if requested, was computed from that polynomial. Now, the Lagrange polynomial for a given output order is computed from the input data with the highest-order less than or equal to the output order. For example, if both position and velocity information are provided as source data for interpolation but position, velocity, and acceleration are requested as output, the position and velocity information are interpolated independently and the derivatives of the velocity interpolating polynomials are used to compute the acceleration.

  • LinearApproximation now linearly interpolates across all given orders of input. If higher order outputs are requested, the output order one higher than the highest input order is the constant slope for that segment, and any higher outputs are zero. Previously, input derivatives were ignored, the first derivative on output was constant, and higher derivatives were zero.

  • InterpolationAlgorithm now has an additional method, GetRequiredDataPoints, which takes a degree and an input order and returns the number of independent variables that must be interpolated over in order to attain the specified degree of polynomial approximation.

  • EulerSequence and YawPitchRoll now check to ensure the EulerSequenceIndicator or YawPitchRollIndicator that is returned from each type's Sequence property is valid. Previously, it was possible to create invalid instances in .NET, but not Java. The two versions now behave consistently.

  • Insight3D now properly orients Collada models. If you added code to correct for the incorrect orientation, you will need to remove it when you upgrade to this release.

New Features

Improvements

Bug Fixes

AGI Components for .NET 2010 r2

Breaking Changes

New Features

Improvements

  • The visual quality of text rendering in Insight3D was significantly improved.

  • The HowTo application now shows more detailed descriptions of what it is demonstrating.

  • AGIProcessedDataTerrain can now be constructed with a more general StreamFactory instead of requiring a FileStreamFactory.

Bug Fixes

AGI Components for .NET 2010 r1

Breaking Changes

New Features

Improvements

  • Numerous improvements to the examples and documentation.

  • The performance of SensorVolumeConstraint has been improved.

  • TimeIntervalCollection now implements IList<TimeInterval>.

  • ReceiverAutonomousIntegrityMonitoring replaces RaimComputation. The new class offers better performance and an easier-to-use interface.

  • Improved numerical results for finding roots of a QuadraticRealPolynomial when the linear term is zero and the constant term is small in relation to the quadratic term.

  • GridTimeSampledValues.ComputeData now creates grid points and figure of merit scalars in multiple threads simultaneously according to the ThreadingPolicyFacet.

  • AccessSampling now ensures that access constraint functions are sampled at least three times over each interval. Previously, small intervals might be sampled only twice and access events could be missed.

Bug Fixes

AGI Components 2009 r8

Breaking Changes

New Features

Improvements

Bug Fixes

AGI Components 2009 r7

Breaking Changes

New Features

Improvements

Bug Fixes

  • In AGI Components 2009 r6, the MATLAB example referenced the default install location of AGI Components 2009 r5. In this release, the example uses a relative path so it should work regardless of where AGI Components is installed.

  • Fixed a bug that could cause EarthOrientationParameters to return NaN instead of a valid value in rare circumstances when working with multiple EarthOrientationParameters instances in a single application.

AGI Components 2009 r6

Breaking Changes

  • The Ellipsoid copy constructor, which was marked obsolete in AGI Components 2009 r3, has been removed in this release.

New Features

Improvements

  • StkEphemerisFile and StkAttitudeFile are no longer case-sensitive.

  • StkEphemerisFile and StkAttitudeFile now support a much more complete set of reference frames and axes, notably including the International Celestial Reference Frame (ICRF).

  • RotateFilter can now rotate by an arbitrary angle. Previously it only allowed 90, 180, and 270 degree rotations.

  • Numerous documentation improvements.

Bug Fixes

  • Fixed several problems with sensor projections that could cause exceptions or unexpected results in certain unusual cases.

  • Fixed a bug that prevented Access Queries from evaluating over a TimeInterval containing just a single instant of time.

  • Fixed a bug that prevented the EllipsoidGrid.ReferenceTerrain property from being used with coverage analysis.

  • The Insight3D control was incorrectly raising a DragDrop event when the DragEnter event should have been raised.

  • Fixed some problems rendering filled polygons and video on terrain with ATI HD video cards.

  • ScalarReceivedIsotropicPower and ScalarReceivedPowerFluxDensity previously did not take into account access constraints applied to the link, so "received" power was unaffected by terrain line of sight, etc. In addition, ScalarPropagationLoss will now report 100% loss when the link's access constraints are not satisfied.

  • Fixed a rare race condition in TerrainCacheGroup that could cause an ArgumentException when attempting to obtain a terrain height.

  • Fixed several problems preventing the AGI Components analysis components from being used in a partial-trust environment such as from within an XBAP application. Insight3D (AGI.Foundation.Graphics) still cannot be used in a partial trust environment because of its use of unmanaged code.

  • Fixed a problem with EllipsoidGridRegions when some of the regions span the international date line.

  • Examples of using AGI Components from MATLAB are now included in the Examples subdirectory.

AGI Components 2009 r5

Breaking Changes

New Features

Improvements

Bug Fixes

AGI Components 2009 r4

Breaking Changes

New Features

  • Added a GregorianDate type. It can be used in place of the .NET standard DateTime for more accurate parsing and formatting of dates.

  • Many access constraints have logic to suggest the next sampling step in order to avoid missing interesting features of the constraint function. This can now be disabled by setting the AccessSampling.UseConstraintSamplingSuggestion property to false, in which case the function will be sampled using the AccessSampling.DefaultStep instead.

  • Primitives and Screen Overlays now have a Display property that allows them to easily be hidden or shown.

  • Screen Overlays now support Display Conditions.

  • Two new Display Conditions have been added for use with Primitives, Screen Overlays, and Globe Overlays: DistanceToGlobeOverlayDisplayCondition and DistanceToPrimitiveDisplayCondition.

  • MarkerBatchPrimitive can now be configured to render in wireframe mode by setting the Wireframe property.

  • Added support for rendering imagery from OpenStreetMap on the Insight3D globe via the OpenStreetMapImageGlobeOverlay class.

  • Added support for rendering imagery from a WMS-C server to the Insight3D globe via the WebMapServiceCachedImageGlobeOverlay class.

  • Added TryCartographicToWindowCoordinate, CartographicToWindowCoordinate, TryWindowCoordinateToCartographic, and WindowCoordinateToCartographic methods to the Camera class to quickly find the longitude, latitude, and altitude corresponding to a specified pixel, or vice-versa.

  • Added a SurfaceDistanceConstraint to constrain access based on the distance between two objects along the surface of the Earth or another central body.

Improvements

Bug Fixes

AGI Components 2009 r3

Breaking Changes

  • An uncommonly used overload of EvaluatorGroupCreateEvaluator was misspelled in the previous release and has been corrected.

  • TotalAngularRateConstraint now computes the angular rate with respect to the reference frame of the constrained link end, which is the end of the link to which the constraint has been applied. Previously the rate was computed with respect to the displacement vector's axes, which could be different if accounting for light-time delay.

  • The functionality previously in AGI.Foundation.Terrain.dll has been split into two assemblies: AGI.Foundation.TerrainReaders.dll and AGI.Foundation.TerrainAnalysis.dll. You will need to update the references in your projects.

  • The PlatformExtension and PlatformExtensionCollection types have been removed. Use ObjectExtension and ExtensionCollection instead.

New Features

Improvements

Bug Fixes

  • A bug has been fixed that prevented the "simple" licensing system from finding a license embedded in an assembly other than the entry assembly. The entry assembly is usually the application executable.

  • Fixed a numerical stability problem in AGIWorldTerrain that could cause it to throw an exception when attempting to provide the terrain height at certain valid locations.

  • RinexNavigationEphemeris incorrectly reported the TimeOfClock value as its Epoch.

  • The BoundingExtent property on GeodasGriddedTerrain was previously always returning null.

AGI Components 2009 r2

Breaking Changes

  • This release includes changes to the mechanism for licensing AGI Components for use in your applications. While it is designed to be minimally intrusive, you will need a new license and to take some basic steps to avoid licensing exceptions at runtime. Please see the Getting Started or Licensing and Deployment topics for more information.

New Features

Improvements

  • CoverageDefinitionOnCentralBody now has the option to store the grid cell boundary vertices along with the coverage data in the CoverageGridResult. This is useful when plotting results.

  • The performance for adding an interval at the end of a TimeIntervalCollection has been improved along with adding a RemoveAt method.

Bug Fixes

AGI Components 2009 r1

Breaking Changes

New Features

  • Introducing Communications Library, which analyzes communication signals by modeling antenna gain patterns, wireless propagation effects, and hardware processing. It provides several ways to analyze signal data, including the creation of "Link Budgets" based on various scalar parameters such as ScalarCarrierToNoise or ScalarBitErrorRate<TModulation>. It also models the effects of multiple signals interfering with an intended signal. For more information on Communications Library, see the Communications topic.

Improvements

  • AxesAlignedConstrained now allows the user to specify which axes to use as the principal and reference.

  • BrentFindExtremum now has better behavior for flat functions and other special cases. This may improve access results in certain cases.

  • StkSatelliteDatabase now treats the wr, fr, and tce files that are normally part of the database as optional. This is useful when using a custom satellite database.

  • Default-constructed AzimuthElevationMaskConstraint, ThirdBodyElevationAngleConstraint, LineTargetElevationAngleConstraint, and AreaTargetElevationAngleConstraint objects now default to having a MinimumValue of 0.0 radians. Previously neither MinimumValue nor MaximumValue was set, so the constraints effectively did nothing unless the user explicitly set one of these properties.

  • GeometryTransformer now computes transformation chains between axes and reference frames more quickly in certain cases.

  • This release of AGI Components is now tested against Mono v2.2.

  • Numerous documentation improvements.

Bug Fixes

  • Fixed a bug that could cause an "eccentricity violation" exception when computing access with an SGP4-propagated satellite and light-time delay enabled, even with a valid TLE and computation interval.

  • AccessEvaluator now correctly reports its availability as infinite. An access query can be evaluated at any time. If an underlying quantity is not available at that time, the result of the query is that access is "unknown."

  • Fixed a bug in TimeGenerator that could cause it to very rarely return two identical times at the end of the interval. This could manifest itself as two identical times being returned from evaluating any evaluator over an interval.

  • Fixed a bug in Heading that could cause the algorithm to compute NaNs in certain very rare circumstances.

  • VectorMagnitude no longer throws an exception when the magnitude is zero.

AGI Components 2008 r8

New Features

Improvements

  • Spatial Analysis Library now multithreads the creation of grid points in order to improve performance on multi-core and hyperthreaded hardware.

  • AGI Components is now built using Visual Studio 2008. This change should be transparent as Visual Studio 2005 and .NET 2.0 are still fully supported in this release.

  • Numerous documentation improvements.

Bug Fixes

AGI Components 2008 r7

New Features

  • Terrain Analysis Library now has the ability to read terrain data in the AGI PDTT format using AGIProcessedDataTerrain.

  • Navigation Accuracy Library now has the ability to read RINEX Observation files using RinexObservation.

  • Added a LinearApproximation type which has a static method for doing simple linear interpolation and also implements InterpolationAlgorithm.

  • VectorDifferentiator and PointDifferentiator now have a DerivativeToCompute property. Previously, these types always computed the next derivative after the highest available from the underlying vector or point.

  • Added an EllipsoidGridSpecified type that makes it easy for the grid points used in a coverage computation to be given explicitly by the user.

Improvements

  • Addressed a difference between the convention used to represent rotational motion in an StkAttitudeFile and that used in the rest of AGI Components. This could cause rotational motion interpolated from an attitude file to be interpreted incorrectly. See AttitudeData for more information.

  • EarthGravitationalModel1996 now has unnormalized versions of the J2, J3, and J4 constants. Also, the documentation for J2Propagator and J4Propagator has been updated to refer users to these constants.

  • The YearMonthDay type can now be constructed directly from a JulianDate.

  • Numerous documentation improvements.

Bug Fixes

  • Fixed a bug in the Satellite Tracker demo application that could cause it to fail to invoke Google Earth when exporting KML.

  • Fixed a bug in StkEphemerisFile that caused it to throw an exception when encountering an .e file with comments.

  • Several Ellipsoid methods now check to see if they are operating on a point that is very close to the center of the ellipsoid and throw an exception if this is the case. Previously, these methods could, in rare situations, get stuck in an endless loop.

AGI Components 2008 r6

New Features

  • Evaluators now have overloaded Evaluate methods that sample the evaluator at a fixed step over an entire interval. The sampling is automatically performed in multiple threads, as appropriate, for best performance on multi-core systems.

  • Added a new type, TerrainAlongLine, which provides a simple way to determine terrain obscuration between two points.

  • Added GTOPO30Terrain to read terrain data in the GTOPO30 format.

  • Added a DegreesMinutesSeconds type to work with angles represented as these three components.

Improvements

Bug Fixes

  • StkEphemerisFile no longer fails with an exception when reading a .e file with covariance data.

  • Fixed a problem where TerrainLineOfSightConstraint could miss obstructing terrain when the two objects are far apart and the "lower" object is in a very flat region of terrain.

  • Fixed a problem where an EllipsoidRhumbLine could travel the long way around the ellipsoid.

  • The RINEX file readers now allow blanks, representing data that was unknown when the files were created. Previously, the readers threw an exception when they encountered a blank.

  • Fixed a problem in NgaDigitalTerrainElevationData that caused the reader to report unknown heights for certain cells even though the cells existed and had valid data.

AGI Components 2008 r5

Breaking Changes

  • Please contact us at support@agi.com and we will be glad to help you update your existing code to work with this release.

  • Custom access constraints written for previous releases will not work in this release.

  • Classes implementing IFunctionSamplingStrategy are now also required to implement the methods of IThreadAware.

New Features

  • Introducing the Spatial Analysis Library, which provides several major new capabilities:

    • Define a set of assets that can cover a region. An asset can be a spacecraft, aircraft, constellation, chain, or any boolean combination of these.

    • Define and discretize a region using one of several gridding algorithms.

    • Determine the coverage of the region by the assets.

    • Compute statistical information (Figures of Merit) related to the coverage of the region.

    Effectively, Spatial Analysis Library brings many of the capabilities of STK/Coverage to AGI Components. For more information, see the Coverage topic.

  • Access Queries enable the modeling of sophisticated intervisibility problems involving any number of objects. Access constraints on one or many objects can be combined using boolean operators such as And, Or, Not, AtLeastN, AtMostN, and ExactlyN. Access queries can be used to model a chain and will account for light-time delay between each hop. Access queries bring many of the capabilities of the STK Chain and Constellation objects to AGI Components, and in fact enable many use cases that STK cannot support.

  • The Iau2000Orientation and Iau2006Orientation types now provide the orientation of all of the major planets, Earth's Moon, and the Sun. Previously only the Sun and Earth's Moon were available.

Improvements

Bug Fixes

  • Previously, EllipsoidGeodesic could get stuck in an endless loop when given certain ambiguous cases. Now, it will instead throw an exception explaining the problem.

  • StkEphemerisFile and StkAttitudeFile now provide an interpolator matching the default used by STK even if the source file does not explicitly specify an interpolator.

  • Fixed a number of bugs in TimeIntervalCollection that could yield incorrect results for certain operations in unusual cases.

AGI Components 2008 r4

New Features

  • Several new navigation-related access constraints were added to Navigation Accuracy Library:

  • Navigation Accuracy Library can now operate in a 'diligent' or 'lazy' mode when computing accuracy using Prediction Support File (PSF) data. Previously this option was only available when computing accuracy using Performance Assessment File (PAF) data.

  • Added an analytical model for the positions of the planets and Earth's moon based on a paper by Simon et al. This new model, found in Simon1994PlanetaryPositions, is now the default model used by all central bodies. This means that it is no longer necessary to load and configure JPL DE data before performing computations that depend on planetary positions. However, you may still want to use JPL DE data because it is more accurate than this analytical model.

Improvements

  • The orbital element types now take optional tolerance parameters, where appropriate. Also, these types now throw more reasonable and consistent exceptions when given invalid input.

  • Numerous documentation improvements.

Bug Fixes

  • Fixed a bug in PointVectorToPoint that resulted in one less than the highest requested derivative being returned. If no derivatives were requested, the returned position would be incorrect as well.

AGI Components 2008 r3

New Features

Improvements

  • The name has been changed from AGI Component Technology to AGI Components.

  • Numerous documentation improvements.

  • The CHM documentation will now remember the language selection made with the drop-down list in the upper right-hand corner.

  • This release of AGI Components is now tested against Mono v1.9.

  • Some changes to evaluators and evaluator groups have been implemented to improve performance and to simplify the task of writing a new evaluator. If you have written your own evaluator or if you are using evaluator groups to improve performance, please see the Evaluators And Evaluator Groups topic for a description of the changes.

Bug Fixes

AGI Component Technology 2008 r2

New Features

  • A new interface has been added, IIsTimeVarying, which allows evaluators to report whether or not they have a different value as a function of time. All evaluators implement this interface and by default they return true. For best performance, the IsTimeVarying method should be overridden to return false when the evaluator is known not to change with time.

  • PointEvaluator, AxesEvaluator, ScalarEvaluator, and VectorEvaluator now have a SimplifyIfNotTimeVarying method. By calling it in the GetEvaluator-type methods after obtaining the evaluator, the evaluator complexity can be substantially reduced. This is done for many of the evaluators included in the library and results in a substantial performance improvement when, for example, computing access to a stationary facility.

  • EarthCentralBody now has a SlowChangingAxesUpdateInterval property. By default, this interval is used by Iau1976Precession and Iau1980Nutation for their CacheSeconds value. It is still possible to set the CacheSeconds property explicitly to override this value. It is also used for updating pole wander during the Earth Fixed → Inertial transformation. The default value is 0, indicating that the values should be computed every time, so previous results should be unaffected. However, increasing this value will result in a significant performance improvement for many use cases with little to no difference in results.

  • CartographicZoneConstraint now offers the ability to obtain the zone parameters from the constraint after they have been set. Previously they were write-only.

  • PerformanceAssessmentFile now has a GetSatelliteGlobalUserRangeErrorEvaluator method that can be used to obtain global URE.

  • A new service interface has been added, IGpsPrnService, which allows the user to obtain the PRN associated with a GPS satellite. GpsSatelliteExtension provides this service.

  • SatelliteOutageFile now has several FindOutages methods to find the outages corresponding to a particular PRN or interval.

Improvements

  • CentralBodyObstructionConstraint will now yield better performance when not considering light-time delay.

  • The documentation has been improved in several places.

  • The performance of Dilution of Precision (DOP) and RAIM calculations has been substantially improved.

Bug Fixes

AGI Component Technology 2008 r1

The first release of AGI Component Technology!