Click or drag to resize

What's New?

Important note Important

In the upcoming 2017r4 release, the .NET version of STK Components will begin requiring .NET 4.5 or above, in contrast to our current requirement of .NET 2.0 or above. For questions or concerns please contact support@agi.com.

Important note Important

In the upcoming 2017r4 release, the 32-bit version of Insight3D will be discontinued. Insight3D will be 64-bit only. Note that all other analysis libraries have always been independent of architecture and will be unaffected. For questions or concerns please contact support@agi.com.

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.

  • 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.

STK Components for .NET 2017 r2

Breaking Changes

New Features

Improvements

Bug Fixes

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

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

New Features

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

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

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

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 EllipsoidGridReferenceTerrain 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

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

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!