What's New in STK Java API 11.0 | What's New in STK Java API 10.1 | What's New in STK Java API 10.0.0 | What's New in STK Java API 9.2.1 | What's New in STK Java API 9.2 | What's New in STK Java API 9.1 | What's New in STK Java API 9.0 | What's New in STK Java API 8.1.x

What's New in STK Java API 11.0

This release introduces the following new features and enhancements to the STK Java API. The STK Java API is updated in each release of STK Engine and STK.

Module(s) Description
All API (i.e. *.jar)

This release has been compiled and tested with Oracle Java 1.6u43.

The following changes have been made across all Java API Jar files where applicable.


Feature(s) Description
Collections are now Iterable.

Appropriate classes now implement the Iterable interface.

Java style enumeration constants added.

Methods that take the old int values and the old int values themselves have been deprecated. The classes have been changed to enum, and new constants replace the old int values to be more like Java style enumerations; for example, E_BACKGROUND_SPACE, E_BACKGROUND_GROUND.

AgCoreColor class and methods added.

Methods that take and return the new AgCoreColor class have been added.

agi.core.jar

A new method, AgCore_JNI.xInitThreads(), has been added to the API. This method must be called on Linux before any other calls to x11 are made.

agi.stkx.jar

New event has been added, onConControlQuitRecieved, that is triggered when the [ConControl / QuitStk] connect command is received.

agi.stkutil.jar

Changes have been made to the this API, please refer to STKUtil What's New for changes.

agi.stkobjects.jar

Changes have been made to this API, please refer to STK Object Model What's New for more details. Also refer to the following Java API specific deletions, refactoring, and additions:

agi.stkobjects.astrogator.jar

Changes have been made to this API, please refer to STK Astrogator What's New for all changes.

agi.stkvgt.jar

Changes have been made to this API, please refer to STK VGT What's New for all changes.

agi.stkgraphics.jar

Changes have been made to this API, please refer to STK Graphics What's New for changes.

What's New in STK Java API 10.1.3

This release introduces the following new features and enhancements to the STK Java API. The STK Java API is updated in each release of STK Engine and STK.

Module(s) Description
All API (i.e. *.jar)

This release has been compiled and tested with Oracle Java 1.6u43.

The following changes have been made across all Java API Jar files where applicable.


Feature(s) Description
Collections are now Iterable.

Appropriate classes now implement the Iterable interface.

Java style enumeration constants added.

Methods that take the old int values and the old int values themselves have been deprecated. The classes have been changed to enum and new constants repleace the old int value more like java stlye enumerations. EX: E_BACKGROUND_SPACE, E_BACKGROUND_GROUND

AgCoreColor class and methods added.

Methods that take and return the new AgCoreColor class have been added.

agi.core.jar

A new method, AgCore_JNI.xInitThreads(), has been added to the API. This method must be called on Linux before any other calls to x11 are made.

agi.stkgraphics.jar

New classes and interfaces have been added to support Cesium terrain in STK Engine. EX: AgStkGraphicsAGICustomTerrainOverlayClass

agi.stkx.jar

New event has been added, onConControlQuitRecieved, that is triggered when the [ConControl / QuitStk] connect command is received.

What's New in STK Java API 10.1

This release introduces the following new features and enhancements to the STK Java API. The STK Java API is updated in each release of STK Engine and STK.

Module(s) Description
agi.stkutil.jar

Changes have been made to the this API, please refer to STKUtil What's New for changes.

agi.stkx.jar

Changes have been made to the this API, please refer to STKX What's New for changes. Also the following Java API specific deletions, refactoring, and additions:

agi.stkobjects.jar

Changes have been made to this API, please refer to STK Object Model What's New for more details. Also refer to the following Java API specific deletions, refactoring, and additions:

agi.stkobjects.astrogator.jar

Changes have been made to this API, please refer to STK Astrogator What's New for all changes.

agi.stkvgt.jar

Changes have been made to this API, please refer to STK VGT What's New for all changes.

agi.stkgraphics.jar

Changes have been made to this API, please refer to STK Graphics What's New for changes.

agi.stk.ui.core.jar

Changes have been made to this API, please refer to STK Ui Core What's New for all changes.

agi.stk.ui.application.jar

Changes have been made to this API, please refer to STK Ui Application What's New for all changes.

What's New in STK Java API 10.0

This release introduces the following new features and enhancements to the STK Java API. The STK Java API is updated in each release of STK Engine and STK.

Module(s) Description
All API (i.e. *.jar)

The following changes have been made across all Java API Jar files where applicable.


Feature(s) Description
Support for Windows 64-bit

The STK Java API now supports 64-bit JDK/JRE processes when utilizing the native STK Engine 64-bit install on a 64-bit Windows OS. For more details on configuration samples/applications see the 64-bit configuration steps for Eclipse or standalone.

New Initialization/Uninitialization Strategies

Note: This will cause compilation/runtime breakage.


You MUST migrate your initialization and uninitialization of Custom and Automation applications to the new strategies listed below.


Application Type New summary initialization More details
Extension/Plugin Application agi.stk.plugin.AgStkExtension_JNI.initialize/uninitialize

Note: called by STK or STK Engine only, not intended for use by end plugin or application implementation

Custom Application agi.stkengine.AgStkCustomApplication_JNI.initialize/uninitialize Swing/AWT Init/Uninit FAQ and SWT Init/Uninit FAQ
Automation Application agi.stk.ui.AgStkAutomation_JNI.initialize/uninitialize Automation FAQ

For additional code examples of the new initialization strategy, please refer to Custom Application Java Samples list and Automation Application Java Samples list.

Auto class cast

In previous releases Java style casting was not available for casting from types like IAgStkObject to IAgScenario or IAgFacility. You were limited to Constructor based type casting. A new feature, called Auto Class Casting, is provided in this release which now allows in some cases Java style casting, please refer to Auto Class Casting FAQ for details and Custom Application Java Samples list for more examples. By default this feature is enabled in the Java API in this and future releases. In the initialization strategry for the application type you are developing, the initialization method has an overload that allows for enabling, or disabling this feature at initialization time.

New eventing API

A New Eventing API has been added to this release. This New Eventing API provides a backward compatibility event listener implementation using the standard Java Event Architecture based on ...

  • java.util.EventListener
  • java.util.EventObject
  • java.swing.event.EventListenerList if applicable
  • etc.

The new interfaces, event classes, and samples are as follows...


Object With Event Hookup Subscribe/Unsubscribe method Interface Event Class Sample
agi.stkx.awt.AgGlobeCntrlClass/agi.stkx.swt.AgGlobeCntrlClass addIAgGlobeCntrlEvents(...)/removeIAgGlobeCntrlEvents(...) agi.stkx.IAgGlobeCntrlEvents agi.stkx.AgGlobeCntrlEvent CustomApp_AWT_STK_X_Globe_Events
agi.stkx.awt.AgMapCntrlClass/agi.stkx.swt.AgMapCntrlClass addIAgMapCntrlEvents(...)/removeIAgMapCntrlEvents(...) agi.stkx.IAgMapCntrlEvents agi.stkx.AgMapCntrlEvent CustomApp_AWT_STK_X_Map_Events
agi.stkx.awt.AgGfxAnalysisCntrlClass/agi.stkx.swt.AgGfxAnalysisCntrlClass addIAgGfxAnalysisCntrlEvents(...)/removeIAgGfxAnalysisCntrlEvents(...) agi.stkx.IAgGfxAnalysisCntrlEvents agi.stkx.AgGfxAnalysisCntrlEvent CustomApp_AWT_STK_X_GfxAnalysis_Events
agi.stkx.AgSTKXApplicationClass addIAgSTKXApplicationEvents2(...)/removeIAgSTKXApplicationEvents2(...) agi.stkx.IAgSTKXApplicationEvents2 agi.stkx.AgSTKXApplicationEvent CustomApp_AWT_STK_X_App_Events
agi.stkobjects.AgStkObjectRootClass addIAgStkObjectRootEvents2(...)/removeIAgStkObjectRootEvents2(...) agi.stkobjects.IAgStkObjectRootEvents2 agi.stkobjects.AgStkObjectRootEvent CustomApp_AWT_STK_Objects_Root_Events
agi.stk.ui.application.AgUiApplicationClass addIAgUiApplicationEvents2(...)/removeIAgUiApplicationEvents2(...) agi.stk.ui.IAgUiApplicationEvents2 agi.stk.ui.AgUiApplicationEvent Automation_Swing_STK_Events

For future development, please use this New Eventing API instead of the Old Event API.

Deprecated old eventing API

The Eventing API from previous releases has been deprecated. This is due to the lack of backward compatibility (compilation/runtime errors) for listeners when a new method was added to any specific event connection point interface and its corresponding adapter such as ...


Object With Event Hookup Subscribe/Unsubscribe method Interface Adapter Sample
agi.stkx.awt.AgGlobeCntrlClass/agi.stkx.swt.AgGlobeCntrlClass advise(...)/unadvise(...) agi.stkx.IAgUiAxVOCntrlEvents agi.stkx.AgUiAxVOCntrlEventsAdapter CustomApp_AWT_STK_X_Globe_Events
agi.stkx.awt.AgMapCntrlClass/agi.stkx.swt.AgMapCntrlClass advise(...)/unadvise(...) agi.stkx.IAgUiAx2DCntrlEvents agi.stkx.AgUiAx2DCntrlEventsAdapter CustomApp_AWT_STK_X_Map_Events
agi.stkx.awt.AgGfxAnalysisClass/agi.stkx.swt.AgGfxAnalysisCntrlClass advise(...)/unadvise(...) agi.stkx.IAgUiAxGfxAnalysisCntrlEvents agi.stkx.AgUiAxGfxAnalysisCntrlEventsAdapter CustomApp_AWT_STK_X_GfxAnalysis_Events
agi.stkx.AgSTKXApplicationClass advise(...)/unadvise(...) agi.stkx.IAgSTKXApplicationEvents agi.stkx.AgSTKXApplicationEventsAdapter CustomApp_AWT_STK_X_App_Events
agi.stkobjects.AgStkObjectRootClass advise(...)/unadvise(...) agi.stkobjects.IAgStkObjectRootEvents agi.stkobjects.AgStkObjectRootEventsAdapter CustomApp_AWT_STK_Objects_Root_Events
agi.stk.ui.application.AgUiApplicationClass advise(...)/unadvise(...) agi.stk.ui.IAgUiApplicationEvents agi.stk.ui.AgUiApplicationEventsAdapter Automation_Swing_STK_Events

For future development, please use the preferred New Event API instead of the deprecated eventing classes, interfaces, and methods listed above.

AgVariant/Java Object reference type verload methods added.

Methods that take one or more AgVariant parameters have now been overloaded to accept Java Object reference types as parameters. One can now pass native Java Object reference types like String, Double, Integer, Long, etc without wrapping them in an AgVariant class.


Note: that if a value is already contained within an AgVariant type, increased performance may be achieved by reusing the overloaded methods with AgVariant parameters.

AgSafeArray/Java Object array reference type overload methods added.

Methods that take one or more AgSafeArray parameters have now been overloaded to accept Java Object reference type parameters that are arrays. One can now pass native Java Object reference types that are arrays that contain reference types like String, Double, Integer, Long, etc without wrapping them in an AgSafeArray class.


Note: that if a value is already contained within an AgSafeArray type, increased performance may be achieved by reusing the overloaded methods with AgSafeArray parameters.

AgVariant/Object return method siblings added

Methods have been added that return native Java Object reference type for methods that return AgVariant. Their name has been suffixed with _AsObject. The returned Object could contain objects of reference type Double, Long, String, etc.

AgSafeArray/Object array return method siblings added

Methods have been added that return native Java Object reference type that are arrays for methods that return AgSafeArray. Their name has been suffixed with _AsObject. The returned Object could contain arrays (1 dimensional or 2 dimensional) of objects of reference type Double, Long, String, etc.

Sample Updates

The Java samples have been greatly improved and refactored. A few have been removed, but many more have been added or updated to display new features that have been added to the STK Java API and STK 10.0 release. Please refer to Custom Application Java Samples, Automation Application Java Samples, and Plugin/Extension Application Java Samples

STK Java API Javadocs jar

The STK Java API javadocs jar file name has been renamed from agi.javadocs.jar to agi.stk.javadocs.jar

agi.jar

Changes have been made to the this API that include the following deletions and additions:


Item Action Details
agi.util.java.* package and subpackages and classes contained within Removed

Note: If used this will cause compilation/runtime breakage.


This was deemed to be unecessary within the current API.
agi.AgAGIPropertiesHelper class Added Retrieve the global AGI properties from the agi.properties file in the agi.jar file.
agi.AgJNI_JNI class Removed

Note: This will cause compilation/runtime breakage.


This has been removed in favor of the new initialization/uninitialization strategy for 10.0.

agi.AgEvent class Added

This has been added as a base type for all STK Java API event notification classes with the new eventing API.

agi.AgSystemPropertiesHelper class Added

This has been added to help retrieve Java System properties

agi.IAgProgressInfoHandler class Added

This has been added to help with Native Application (agi.ntvapp.jar and agi.ntvapp.swing.jar) implementations and notification information

agi.images.* packages and classes Added

These packages and classes have been added to provide images/icons for common application ui elements in AWT and Swing used in the agi.swing.jar and agi.swt.jar

agi.core.jar

Changes have been made to the this API that include the following deletions, refactoring, and additions:


Item Action Details
agi.core.Ag_JNI deprecated class Removed

Note: If used this will cause compilation/runtime breakage.


This class was deprecated in the previous release and thus has been removed in favor of the new initialization/uninitialization strategy for 10.0.

agi.core.awt.AgAWT_JNI deprecated methods Removed

Note: If used this will cause compilation/runtime breakage.


These methods were deprecated in previous releases and thus has been removed

agi.core.swt.AgSWT_JNI deprecated methods Removed

Note: If used this will cause compilation/runtime breakage.


These methods were deprecated in the previous release and thus has been removed

agi.core.swing.* package and classes Refactored/Repackaged

Note: If used this will cause compilation/runtime breakage until RECONFIGURED.


This package and classes have been moved to the agi.core.swing.jar

agi.core.AgOLEColor Added class Contains some typical OLE Color values used with the STK Java API.
agi.core.AgSafeArray Removed constructor AgSafeArray(short vttype, int[] lengths)

This constructor allowed for attempted allocation of non-rectangular native SAFEARRAYS which is not allowed by the API and could cause runtime issues and integration confusion.
agi.core.AgSafeArray Added Java Object[]/Object[][] constructors and access (get/set) methods These constructor and methods have been added in order to improve practices and developer experience by utilizing more pure Java constructs.

Refer to the STK Java API Javadocs for the AgSafeArray's set/getJavaObjectArray() and set/getJavaObject2DArray() methods, as well as the AgSafeArray(Object), AgSafeArray(Object[]) and AgSafeArray(Object[][]) constructors.
agi.core.AgSafeArray Added method boolean equals(Object) override implementation

The implementation compares the internal values of the elements of the array classes.
agi.core.AgVariant Added method boolean equals(Object) override implementation

The implementation compares the internal values.
agi.core.swt.* package and classes Refactored/Repackaged

Note: If used this will cause compilation/runtime breakage until RECONFIGURED.


This package and classes have been moved to the agi.core.swt.jar

agi.core.swing.jar

Types previously contained in this package have been repackaged to the agi.core.swing.jar library, additionally:


Item Action Details
agi.core.awt.AgAWTOLEColorTranslator Added to help translate AWT Color's to OLE Colors and vice versa, thus improving ease of use. Please refer to examples of translating AWT to OLE colors and OLE to AWT colors. Also please refer to the CustomApp_AWT_STK_X_Globe_DisplayOptions and CustomApp_AWT_STK_X_Map_Display_Options samples
agi.core.swt.jar

Types previously contained in this package have been repackaged to the agi.core.swt.jar library.


agi.stkutil.jar

Changes have been made to the this API. Please refer to STKUtil What's New for changes.

agi.stkx.jar

Changes have been made to the this API. Please refer to STKX What's New for changes. Also the following Java API specific deletions, refactoring, and additions:


Item Action Details
agi.stkx.AgUiAxVOCntrl class Removed

Note: If used this will cause compilation/runtime breakage.


Use agi.stkx.AgGlobeCntrl for non-graphical and non-default constructor creation to manipulate the Globe control instance. Use the agi.stkx.awt.AgGlobeCntrlClass for graphical inclusion into an AWT (Abstract Window Toolkit) or Swing based UI applications. Use the agi.stkx.swt.AgGlobeCntrlClass for graphical inclusion into an SWT (Standard Widget Toolkit) based UI applications.

agi.stkx.AgUiAx2DCntrl class Removed

Note: If used this will cause compilation/runtime breakage.


Use agi.stkx.AgMapCntrl for non-graphical and non-default constructor creation to manipulate the Map control instance. Use the agi.stkx.awt.AgMapCntrlClass for graphical inclusion into an AWT (Abstract Window Toolkit) or Swing based UI applications. Use the agi.stkx.swt.AgMapCntrlClass for graphical inclusion into an SWT (Standard Widget Toolkit) based UI applications.

agi.stkx.AgUiAxGfxAnalysisCntrl class Removed

Note: If used this will cause compilation/runtime breakage.


Use agi.stkx.AgGfxAnalysisCntrl for non-graphical and non-default constructor creation to manipulate the Gfx Analysis control instance. Use the agi.stkx.awt.AgGfxAnalysisCntrlClass for graphical inclusion into an AWT (Abstract Window Toolkit) or Swing based UI applications. Use the agi.stkx.swt.AgGfxAnalysisCntrlClass for graphical inclusion into an SWT (Standard Widget Toolkit) based UI applications.

agi.stkx.awt.* package and classes Refactored/Repackaged

Note: If used this will cause compilation/runtime breakage until RECONFIGURED.


This package and classes have been moved to the agi.stkx.swing.jar

agi.stkx.swt.* package and classes Refactored/Repackaged

Note: If used this will cause compilation/runtime breakage until RECONFIGURED.


This package and classes have been moved to the agi.stkx.swt.jar

agi.stkx.swing.* package and classes Added

Classes have been added to make it easier to integrate out-of-the-box agi.stkx.awt.* AWT Component controls (globe, map, gfx analysis) with Swing Component Containers like JTabbedPane, JSplitPane, etc.

For instance, in order to get event notification on resize of JSplitPane, one should use the new AgMapJPanel and AgGlobeJPanel provided in the agi.stkx.swing package space instead of the AgGlobeCntrlClass or AgMapCntrlClass provided in the agi.stkx.awt package space.

agi.stkx.AgSTKXApplication class methods/definitions Removed

Note: If used this will cause compilation/runtime breakage.


Some deprecated and backward compatibility methods have been removed for ease of maintenance. Since new compilation change is needed for an application to migrate from STK 9.x to STK 10.x it was deemed acceptable to make the following changes.


Item Description Resolution/Migration
Default constructor removed The AgSTKXApplication class implements methods of IAgSTKXApplication interface only and does not implement methods to create the equivalent native resource class, thus the deprecated default constructor has been removed in this new major release. Construct an instance of AgSTKXApplicationClass using its default constructor.
Overriding release method removed Because the AgSTKXApplication class does not manage the equivalent native resource class it no longer has event hookup capability and thus a overriding release method is no longer needed to free the event proxies native resource deallocation, thus the deprecated release method has been removed in this new major release. Free an instance of the AgSTKXApplication via its super class's (AgUnknown) release method.
advise/unadvise method removed Because the AgSTKXApplication class does not manage the equivalent native resource class it no longer has event hookup capability and thus the deprecated event subscribe/unsubscribe methods called advise/unadvise have been removed in this new major release. Use the AgSTKXApplicationClass instance event subscribe/unsubscribe methods (addIAgSTKXApplicationEvents2/removeIAgSTKXApplicationEvents2).
Does not implement IAgConnectPoint Because the AgSTKXApplication class does not manage the equivalent native resource class it no longer has event hookup capability and thus the implementation of IAgConnectionPoint has been removed. Remove all, if any, instanceof checks, casting, etc. of AgSTKXApplication to IAgConnectionPoint.
Protected pointer parameter constructor no longer throws AgCoreException Because the AgSTKXApplication class does not manage the equivalent native resource createable class (as does AgSTKXApplicationClass) it no longer has event hookup capability and thus construction via pointer parameter does not need throw AgCoreException Exception. Remove all catching or throwing compilation errors when using this constructor.
agi.stkx.AgExecCmdResult
agi.stkx.AgExecCmdResultClass
agi.stkx.IAgExecCmdResult


classes/interfaces
Added

Note: If used this will cause compilation/runtime breakage in the form of ambiguous reference errors if you attempt to import both the agi.stkutil and agi.stkx packages but do not fully qualify which agi.stkx.AgExecCmdResult/agi.stkx.AgExecCmdResultClass/agi.stkx.IAgExecCmdResult you are using when it is used.


Due to an issue with Visual Studio 2010's control designer a change was needed to be made in the STK Util and STKX libraries for .NET. In order to provide cross framework synchronicity the same change was made in the STK Java API. Since new compilation change is needed for an application to migrate from STK 9.x to STK 10.x it was deemed acceptable to make the following changes. The AgExecCmdResult/AgExecCmdResultClass classes and IAgExecCmdResult interface now exists in the agi.stkutil and agi.stkx packages. The agi.stkx packages will reference the agi.stkx package's class if there is a duplicate in the agi.stkutil package. All other packages will refer to the agi.stkutil package version of these classes.


agi.stkx.AgExecMultiCmdResult
agi.stkx.AgExecMultiCmdResultClass
agi.stkx.IAgExecMultiCmdResult


classes/interfaces
Added

Note: If used this will cause compilation/runtime breakage in the form of ambiguous reference errors if you attempt to import both the agi.stkutil and agi.stkx packages but do not fully qualify which agi.stkx.AgExecMultiCmdResult/agi.stkx.AgExecMultiCmdResultClass/agi.stkx.IAgExecMultiCmdResult you are using when it is used.


Due to an issue with Visual Studio 2010's control designer a change was needed to be made in the STK Util and STKX libraries for .NET. In order to provide cross framework synchronicity the same change was made in the STK Java API. Since new compilation change is needed for an application to migrate from STK 9.x to STK 10.x it was deemed acceptable to make the following changes. The AgExecMultiCmdResult/AgExecMultiCmdResultClass classes and IAgExecMultiCmdResult interface now exists in the agi.stkutil and agi.stkx packages. The agi.stkx packages will reference the agi.stkx package's class if there is a duplicate in the agi.stkutil package. All other packages will refer to the agi.stkutil package version of these classes.


Enumerations of agi.stkx.AgEExecMultiCmdResultAction
agi.stkx.AgELineStyle
agi.stkx.AgELogMsgDispID
agi.stkx.AgELogMsgType


enumerations
Added

Note: If used this will NOT cause compilation/runtime breakage due to the fact that the fields in each off these pseudo enumerations are static int fields of the same value. So mixing and comparing them is fine as the classes are one to one field equivalent copies of each other.


Due to an issue with Visual Studio 2010's control designer a change was needed to be made in the STK Util and STKX libraries for .NET. In order to provide cross framework synchronicity the same change was made in the STK Java API. Since new compilation change is needed for an application to migrate from STK 9.x to STK 10.x it was deemed acceptable to make the following changes. These enumerations now exists in the agi.stkutil and agi.stkx packages. The agi.stkx packages will reference the agi.stkx package's enumeration if there is a duplicate in the agi.stkutil package. All other packages will refer to the agi.stkutil package version of these enumerations.


agi.stkx.swing.jar

This jar library provides the AWT based Globe, Map, and Gfx Analysis Controls as well as Swing based JPanel wrappers for each to ease hosting the AWT controls within Swing containers. This jar library is to be included in applications that utilize the AWT/Swing framework for their UI.

agi.stkx.swt.jar

This jar library provides the SWT based Globe, Map, and Gfx Analysis Controls. This jar library is to be included in applications that utilize the SWT framework for their UI.

agi.stkx.initialization.jar

This jar library provides the future initialization help for STKX based applications.

agi.stkobjects.jar

Changes have been made to the this API, please refer to STK Object Model What's New for more details. Also refer to the following Java API specific deletions, refactoring, and additions:


Item Action Details
agi.stkobjects.AgStkObjectRoot class methods/definitions Removed

Note: If used this will cause compilation/runtime breakage.


Some deprecated and backward compatibility methods have been removed for ease of maintenance. Since new compilation change is needed for an application to migrate from STK 9.x to STK 10.x it was deemed acceptable to make the following changes.


Item Description Resolution/Migration
Default constructor removed The AgStkObjectRoot class implements methods of IAgStkObjectRoot interface only and does not implement methods to create the equivalent native resource class, thus the deprecated default constructor has been removed in this new major release. Construct an instance of AgStkObjectRootClass using its default constructor.
Overriding release method removed Because the AgStkObjectRoot class does not manage the equivalent native resource class it no longer has event hookup capability and thus a overriding release method is no longer needed to free the event proxies native resource deallocation, thus the deprecated release method has been removed in this new major release. Free an instance of the AgStkObjectRoot via its super class's (AgUnknown) release method.
advise/unadvise method removed Because the AgStkObjectRoot class does not manage the equivalent native resource class it no longer has event hookup capability and thus the deprecated event subscribe/unsubscribe methods called advise/unadvise have been removed in this new major release. Use the AgStkObjectRootClass instance event subscribe/unsubscribe methods (addIAgStkObjectRootEvents2/removeIAgStkObjectRootEvents2).
Does not implement IAgConnectPoint Because the AgStkObjectRoot class does not manage the equivalent native resource class it no longer has event hookup capability and thus the implementation of IAgConnectionPoint has been removed. Remove all, if any, instanceof checks, casting, etc. of AgStkObjectRoot to IAgConnectionPoint.
Protected pointer parameter constructor no longer throws AgCoreException Because the AgStkObjectRoot class does not manage the equivalent native resource class it no longer has event hookup capability and thus construction via pointer parameter does not need throw AgCoreException Exception. Remove all catching or throwing compilation errors when using this constructor.

Non-IAgStkObjectRoot methods removed

Because the AgStkObjectRoot class does not manage the equivalent native resource createable class (as does AgStkObjectRootClass) it only implements the IAgStkObjectRoot interface and does not implement IAgStkObject, IAgLifetimeInformation, IAgAnimation and IAgConnectionPoint and thus those interface's methods have been removed.
  • getParent()
  • getPath()
  • getInstanceName()
  • setInstanceName()
  • getClassType()
  • getClassName()
  • getChildren()
  • export()
  • getRoot()
  • getDataProviders()
  • getShortDescription()
  • setShortDescription()
  • getLongDescription()
  • setLongDescription()
  • getHasChildren()
  • isObjectCoverageSupported()
  • getObjectCoverage()
  • isAccessSupported()
  • getAccess()
  • getAccessToObject()
  • getAccessConstraints()
  • createOnePointAccess()
  • getObjectFiles()
  • unload()
  • isVgtSupported()
  • getVgt()
  • copyObject()
  • getHasBeenDeleted()
  • playForward()
  • playBackward()
  • pause()
  • rewind()
  • stepForward()
  • stepBackward()
  • faster()
  • slower()
  • getMode()
  • setMode()
  • getCurrentTime()
  • setCurrentTime()
  • getStep()
  • getAnimationOptions()
  • setAnimationOptions()
  • getHighSpeed()
  • setHighSpeed()
Use AgStkObjectRootClass instance when accessing non-IAgStkObjectRoot interfaces methods.
agi.stkobjects.AgStkObjectModelContext class methods/definitions Removed

Note: If used this will cause compilation/runtime breakage.


Some deprecated and backward compatibility methods have been removed for ease of maintenance. Since new compilation change is needed for an application to migrate from STK 9.x to STK 10.x it was deemed acceptable to make the following changes.


Item Description Resolution/Migration
Default constructor removed The AgStkObjectModelContext class implements methods of IAgStkObjectModelContext interface only and does not implement methods to create the equivalent native resource class, thus the deprecated default constructor has been removed in this new major release. Construct an instance of AgStkObjectModelContextClass using its default constructor.
Protected pointer parameter constructor no longer throws AgCoreException Because the AgStkObjectRoot class does not manage the equivalent native resource class it no longer has event hookup capability and thus construction via pointer parameter does not need throw AgCoreException Exception. Remove all catching or throwing compilation errors when using this constructor.
agi.stkobjects.astrogator.jar

Changes have been made to the this API, please refer to STK Astrogator What's New for all changes.

agi.stkvgt.jar

Changes have been made to the this API, please refer to STK VGT What's New for all changes.

agi.stkgraphics.jar

This new library has been added to provide advanced graphics manipulation within a 3d/Globe control's scene. Refer to STK Graphics What's New for changes.

agi.stk.jar

Note: If used this will cause compilation/runtime breakage.


agi.stk.jar has been removed from the release. All types previously contained within this jar file have been moved to new jar files as the following table indicates. The initialization/uninitialization for such applications was moved to this Jar to remove some circular dependencies that inhibited the API from moving forward toward the best possible design.


package space Moved to this jar file
agi.stk.* agi.stk.ui.jar
agi.stk.ui.core.* agi.stk.ui.core.jar
agi.stk.ui.application.* agi.stk.ui.application.jar

Use agi.stk.ui.AgStkUi class instead of previous agi.stk.AgStk class. Methods have changed names slightly as well, see STK Automation samples for examples.


agi.stk.AgStk_JNI has been removed in favor of new initialization/uninitialization strategy for 10.0

agi.stk.ui.jar

This jar library provides the AgStkAutomation_JNI initialization class used to initialize/uninitialize Automation Application types in AWT/Swing or SWT.

agi.stk.ui.core.jar

Changes have been made to the this API, please refer to STK Ui Core What's New for all changes.

agi.stk.ui.application.jar

Changes have been made to the this API, please refer to STK Ui Application What's New for all changes.

AGI STK Java Plugins API jar/package refactoring

Note: If used this will cause compilation/runtime breakage.


The AGI Java Plugins for STK have been refactored into new packages/new jars/new dlls as seen in the list below.


Old Package New Package
agi.plugin.accessconstraints agi.stk.plugin.accessconstraints
agi.plugin.astrogator.plugin agi.stk.plugin.astrogator.plugin
agi.plugin.stk agi.stk.plugin.stk
agi.plugin.crdn agi.stk.plugin.crdn
agi.plugin agi.stk.plugin.util

Old Jar New Jar
agi.plugin.accessconstraints.jar agi.stk.plugin.accessconstraints.jar
agi.plugin.astrogator.plugin.jar agi.stk.plugin.astrogator.plugin.jar
agi.plugin.crdn.jar agi.stk.plugin.crdn.jar
agi.plugin.stk.jar agi.stk.plugin.stk.jar
agi.plugin.jar agi.stk.plugin.util.jar

Old Dll New Dll
AgJNIPluginAccessConstraints.dll AgJNIStkPluginAccessConstraints.dll
AgJNIPluginAstrogatorPlugin.dll AgJNIStkPluginAstrogatorPlugin.dll
AgJNIPluginCrdn.dll AgJNIStkPluginCrdn.dll
AgJNIPluginStk.dll AgJNIStkPluginStk.dll
AgJNIPlugin.dll AgJNIStkPluginUtil.dll
agi.stk.plugin.jar

This jar library has been added to provide AgStkExtension_JNI class used to initialize/uninitialize Extension/Plugin Application types. Note this class should be used by the STK UI application and is not intended to be access via a customer applications. The initialization/uninitialization for such applications was moved to this Jar to remove some circular dependencies that inhibited the API from moving forward toward the best possible design.

agi.stk.plugin.graphics.jar

This new library has been added to provide advanced graphics manipulation plugin points for end user custom Raster and Projection Stream graphics within a 3d/Globe control's scene. Refer to STK Graphics Plugins

agi.swing.jar

This jar library and its API are released as PRE-ALPHA in STK 10.0 and are subject to change in future releases. This library has been added to the SDK to help with general AWT/Swing related integration. Specifically:


Item Details
agi.swing.** packages The agi.swing package and its subpackages contain useful Swing Components such as JButtons, JMenus, JPanels, JToolBars, etc that are useful for any AGI Java Application. For example AGI Icons, splash screens, Java Properties tables, etc. Please refer to the Custom Application samples for examples of using these Swing Components
agi.swt.jar

This jar library and its API are released as PRE-ALPHA in STK 10.0 and are subject to change in future releases. While it is configured, used (as well as some of its classes/interfaces/etc directly or indirectly) within some samples, it and its classes/interfaces/etc are not required to be used or packaged within your final application.

agi.ntvapp.jar

This jar library and its API are released as PRE-ALPHA in STK 10.0 and are subject to change in future releases. While it is configured, used (as well as some of its classes/interfaces/etc directly or indirectly) within some samples, it and its classes/interfaces/etc are not required to be used or packaged within your final application.

agi.ntvapp.swing.jar

This jar library and its API are released as PRE-ALPHA in STK 10.0 and are subject to change in future releases. While it is configured, used (as well as some of its classes/interfaces/etc directly or indirectly) within some samples, it and its classes/interfaces/etc are not required to be used or packaged within your final application.

agi.stk.core.jar

This jar library and its API are released as PRE-ALPHA in STK 10.0 and are subject to change in future releases. While it is configured, used (as well as some of its classes/interfaces/etc directly or indirectly) within some samples, it and its classes/interfaces/etc are not required to be used or packaged within your final application. It provides some non-UI code that is utilized within the agi.stk.core.swing.jar and agi.stk.core.swt.jar.

agi.stk.core.swing.jar

This jar library and its API are released as PRE-ALPHA in STK 10.0 and are subject to change in future releases. While it is configured, used (as well as some of its classes/interfaces/etc directly or indirectly) within some samples, it and its classes/interfaces/etc are not required to be used or packaged within your final application. It provides some UI components that can be used in Custom or Automation applications based on AWT/Swing such as Animation Toolbars, View Toolbars, etc.

agi.stk.core.swt.jar

This jar library and its API are released as PRE-ALPHA in STK 10.0 and are subject to change in future releases. While it is configured, used (as well as some of its classes/interfaces/etc directly or indirectly) within some samples, it and its classes/interfaces/etc are not required to be used or packaged within your final application. It provides some UI components that can be used in Custom or Automation applications based on SWT such as Animation Toolbars, View Toolbars, etc.

agi.stkengine.jar

This jar library provides the AgStkCustomApplication_JNI initialization class used to initialize/uninitialize Custom Application types in AWT/Swing or SWT. The initialization/uninitialization for such applications was moved to this Jar to remove some circular dependencies that inhibited the API from moving forward toward the best possible design.

agi.stkengine.swing.jar

This jar library and its API are released as PRE-ALPHA in STK 10.0 and are subject to change in future releases. While it is configured, used (as well as some of its classes/interfaces/etc directly or indirectly) within some samples, it and its classes/interfaces/etc are not required to be used or packaged within your final application. It provides some High-level UI Native Application infrastructure to ease application development with Custom applications based on AWT/Swing.

What's New in STK Java API 9.2.1

This release introduces the following new features and enhancements to the STK Java API. The STK Java API is updated in each release of STK Engine and STK.

Feature/Change Description
New implementations

The STK Java API implements all the new/changed/removed interfaces/classes/enumerations/methods that are provided in the STKUtil, STKX, STK Object Model, STK Astrogator APIs. For further details please refer to the 'What Is New' pages for STKUtil, STKX, STK Object Model, STK Astrogator and STK VGT.

STK Java API STK Vector Geometry Tool implementation

The STK Java API now provides an Object Oriented API to AGI's Vector Geometry Tool feature within STK and STK Engine.

To use this new API you must include the agi.stkvgt.jar and AgJNIStkVGT.dll / libagjnistkvgt.so library in your configuration settings.

Please refer to the STK Java API Custom Application Java Samples, and locate the VGT Basic sample.

STK Java API initialization/uninitialization

The STK Java API default initialization and uninitialization strategy now also initialize/uninitialize the STK Vector Geometry Tool API jar file in addition to the previous release jar files. This unfortunately breaks backward compatibility at runtime for the default initialization and uninitialization strategy, but consequentially adds a new feature in the form of the Vector Geometry Tool API to the STK Java API.


Thus if you are using one of the standard initialization/uninitialization strategies you will be required to add the VGT jar / jni libraries to your configuration settings or you will experience a java.lang.NoClassDefFoundError or java.lang.UnsatisfiedLinkError.


If you are unable to add the VGT jar / jni libraries to your configuration settings then you can initialize/uninitialize the STK Java API without the VGT API. Please contact AGI Technical Support if more help is needed.

What's New in STK Java API 9.2

This release introduces the following new features and enhancements to the STK Java API. The STK Java API is updated in each release of STK Engine and STK.

Feature/Change Description
New implementations

The STK Java API implements all the new/changed/removed interfaces/classes/enumerations/methods that are provided in the STKUtil, STKX, STK Object Model, STK Astrogator APIs. For further details please refer to the 'What Is New' pages for STKUtil, STKX, STK Object Model and STK Astrogator.

AWT Globe, Map and GfxAnalysis Cntrl runtime reparenting change

State of the control's scene has been maintained across add/remove from a parent container during dock, minimize, maximize type UI operations. Please refer to the STK Engine blog post pertaining to this discussion.

FAQ Updated

The FAQ has been updated with information regarding Object Model hierarchy navigation.

What's New in STK Java API 9.1

This release introduces the following new features and enhancements to the STK Java API. The STK Java API is updated in each release of STK Engine and STK.

Feature/Change Description
New implementations

The STK Java API implements all the new/changed/removed interfaces/classes/enumerations/methods that are provided in the STKUtil, STKX, STK Object Model, STK Astrogator APIs. For further details please refer to the 'What Is New' pages for STKUtil, STKX, STK Object Model and STK Astrogator.

Deprecation of agi.logging.jar and agi.util.jar. Code consumed by agi.jar

The agi.logging and agi.util packages are now compiled into the agi.jar binary file. Thus the agi.logging.jar and agi.util.jar binary files NO LONGER EXIST as part of the STK Java API 9.1 installation.


The APIs in the agi.logging and agi.util packages are still accessible as in previous releases thus preserving code backward compatibility.


However, the development and runtime configuration setup is no longer backward compatible. It will be necessary to remove the agi.logging.jar and agi.util.jar from your configuration setup.

Deprecation of STK Java API default initialization/uninitialization

The STK Java API has deprecated the default initialization and uninitialization strategy in favor of an "Application Type" initialization approach.


Deprecated strategy New strategy
agi.core.awt.AgAwt_JNI.initialize(); for a Custom Application Refer to AWT Initialization section of FAQ
agi.core.awt.AgAwt_JNI.uninitialize(); for a Custom Application Refer to AWT Uninitialization section of FAQ
agi.core.swt.AgSwt_JNI.initialize(); for a Custom Application Refer to SWT Initialization section of FAQ
agi.core.swt.AgSwt_JNI.uninitialize(); for a Custom Application Refer to SWT Uninitialization section of FAQ

Please contact AGI Technical Support if more help is needed.

STK Java API implementation for STK User Interface Core/Application

The STK Java API now provides an Object Oriented API to AGI's STK User Interface Core/Application automation feature. This feature allows one to automate the STK product from Java. This feature is currently available on windows platforms only.


To use this new API you must include the agi.stk.ui.core.jar and AgJNIStkUiCore.dll library as well as agi.stk.ui.application.jar and AgJNIStkUiApplication.dll library in your configuration settings.


Note: This API replaces the agi.stk.jar and AgJNIStk.dll implementation. For differences in the new API see the change regarding deprecation of agi.stk.jar below

Deprecation of agi.stk package, agi.stk.jar, and AgJNIStk.dll

In order to make the STK Automation feature within the STK Java API standard by using the AGI STK User Interface API, some methods had to be changed causing a compilation error and breaking backward compatibility. Notably...


  • Library deprecation

    Deprecated/Old Preferred/New
    AgJNIStk.dll(no longer shipped) AgJNIStkUiCore.dll and AgJNIStkUiApplication.dll

  • Deprecation/Changes within agi.stk.AgStk class

    You will encounter the following backward compatibility breaking compilation errors:


    Deprecated/Old Preferred/New
    public long getHeight() public int getHeight()
    public void setHeight(long) public void setHeight(int)
    public long getWidth() public int getWidth()
    public void setWidth(long) public void setWidth(int)
    public long getTop() public int getTop()
    public void setTop(long) public void setTop(int)
    public long getLeft() public int getLeft()
    public void setLeft(long) public void setLeft(int)
    public void startLaunchPad() Removed. Launch Pad is no longer supported
    public static void releaseStkInstance() Removed. Use the AgStk instance release() method instead.
    public static AgStk createStkInstance() Removed. Use the AgStk default constructor instead.
    public static AgStk createStkInstance(String progid) Removed. Use the AgStk default constructor instead.
    public static AgStk getStkInstance(String progid) Removed. Use public static AgStk getStkInstance()

    Deprecation of agi.stk.AgStk_JNI class

    The entire class of agi.stk.AgStk_JNI has been deprecated in favor of reuse of the agi.ui.core.AgUiCore_JNI and agi.ui.application.AgUiApplication_JNI. The agi.stk.AgStk_JNI class can still be used but it is preferred that deprecated/old code be changed to the preferred/new code as follows:


    Deprecated/Old Preferred/New
    agi.stk.AgStk_JNI.load() None. This should not be used/called and is no longer necessary/accessible.
    agi.stk.AgStk_JNI.initialize() Use agi.stk.ui.core.AgStkUiCore_JNI.initialize() and agi.stk.ui.application.AgStkUiApplication_JNI.initialize() instead.
    agi.stk.AgStk_JNI.uninitialize() Use agi.stk.ui.core.AgStkUiCore_JNI.uninitialize() and agi.stk.ui.application.AgStkUiApplication_JNI.uninitialize() instead.

STK Java API implementation for STK Access Constraint Plugin

The STK Java API now provides the STK Access Constraint Plugin API feature. This feature allows one to write an STK Access Constraint Plugin to provide custom Access Constraint computations in Java. This allows our customers to create an Access Constraint Plugin based on their pre-existing non-STK Java Access Constraint code base.


To use this new API you must create a plugin in accordance with the AGI Access Constraint Plugin Java standards.


An online article with more details can be found on the STK Engine Blog

Latebound support via agi.core.IAgDispatchHelper and agi.core.AgDispatchHelper

Please refer to the STK Java API javadocs for specifics on the API class/method deprecation.

What's New in STK Java API 9.0

Feature/Change Description
STK Java API New Object Model implementations

The STK Java API implements all the new/changed/removed interfaces/classes/enumerations/methods that are provided in the STKUtil, STKX and STK Object Model APIs. For further details please refer to the 'What Is New' pages for STKUtil, STKX, and STK Object Model.

STK Java API Astrogator Propagator implementation

The STK Java API now provides an Object Oriented API to AGI's Astrogator Propagator feature within STK and STK Engine.

To use this new API you must include the agi.stkobjects.astrogator.jar and AgJNIStkGator.dll / libagjnistkgator.so library in your configuration settings.

Please refer to the STK Java API Custom Application Java Samples, and locate the CustomApplication_Astrogator_MarsProbe sample.

STK Java API initialization/uninitialization

The STK Java API default initialization and uninitialization strategy now also initialize/uninitialize the Astrogator API jar file in addition to the previous release jar files. This unfortunately breaks backward compatibility at runtime for the default initialization and uninitialization strategy, but consequentially adds a new feature in the form of the Astrogator propagation API to the STK Java API.


Thus if you are using one of the standard initialization/uninitialization strategies you will be required to add the Astrogator jar / jni libraries to your to your configuration settings or you will experience a java.lang.NoClassDefFoundError or java.lang.UnsatisfiedLinkError.


If you are unable to add the Astrogator jar / jni libraries to your configuration settings then you can initialize/uninitialize the STK Java API without the Astrogator API. Please contact AGI Technical Support if more help is needed.

Abstract Window Toolkit (AWT) component repackaging/renaming for Globe/Map/GfxAnalysis components

The following STK Java API AWT based classes/controls/methods have been deprecated, though will still be useable for backward compatibility reasons.


Specifically...

Deprecated Class Use in place of deprecated class
agi.core.Ag_JNI agi.core.awt.AgAwt_JNI
agi.stkx.AgUiAxVOCntrl agi.stkx.awt.AgGlobeControlClass
agi.stkx.AgUiAx2DCntrl agi.stkx.awt.AgMapCntrlClass
agi.stkx.AgUiGfxAnalysisCntrl agi.stkx.awt.AgGfxAnalysisCntrlClass

Please refer to the STK Java API javadocs for specifics on the API class/method deprecation.


Even though the above classes are deprecated, they will still function as expected to respect backward compatibility because they are derived or are composed of the new repackaged/renamed components in the agi.core.awt and agi.stkx.awt packaged classes.


Specifically ...

  • The agi.core.Ag_JNI class now is composed of the agi.core.awt.AgAwt_JNI class

    Note: Backward compatibility is still supported using the agi.core.Ag_JNI class initialize/uninitialize methods, in detail ...

    • The agi.core.Ag_JNI.initialize() calls the agi.core.awt.AgAwt_JNI.initialize() method.

    • The agi.core.Ag_JNI.uninitialize() calls the agi.core.awt.AgAwt_JNI.uninitialize() method.

    • The agi.core.Ag_JNI.isInitialized() calls the agi.core.awt.AgAwt_JNI.isInitialized() method.

    • The agi.core.Ag_JNI.isOnUnixPlatform() calls the agi.core.awt.AgAwt_JNI.isOnUnixPlatform() method.


  • The agi.stkx.AgUiAxVOCntrl class now derives from agi.stkx.awt.AgGlobeCntrlClass
  • The agi.stkx.AgUiAx2DCntrl class now derives from agi.stkx.awt.AgMapCntrlClass
  • The agi.stkx.AgUiGfxAnalysisCntrl class now derives from agi.stkx.awt.AgGfxAnalysisCntrlClass

New AWT based applications should adhere to the following API guidelines in favor of the above mentioned deprecated classes/methods:

  • Should import and use the agi.core.awt and agi.stkx.awt packages in addition to agi.core and agi.stkx packages.


  • Should initialize/uninitialize the STK Java API using ...

    • To initialize call the agi.core.awt.AgAwt_JNI.initialize() method.

    • To uninitialize call the agi.core.awt.AgAwt_JNI.uninitialize() method.


  • Should integrate STK's Globe, Map, GfxAnalysis controls by using ...

    • agi.stkx.awt.AgGlobeCntrlClass

    • agi.stkx.awt.AgMapCntrlClass

    • agi.stkx.awt.AgGfxAnalysisCntrlClass

The impetus for the repackaging/renaming of these graphical components/widgets was two part:

  • To provide a simpler/clearer name for these graphical components.
  • To provide a packaging scheme that allowed reuse of the non-graphical interfaces and classes from either the AWT based graphical components (agi.stkx.awt package) or the new SWT based graphical widgets (agi.stkx.swt package) which is a new feature released in STK 9.0 (see next feature entry Standard Widget Toolkit (SWT) framework implementation).

Please note if your Java application was previously written using AWT framework and used the agi.core classes and the agi.stkx controls, your application should continue to work without changing to the equivalent agi.core.awt classes and agi.stkx.awt controls.


Please refer to the STK Java API samples page for details on how to use these new backward compatible code changes.

Standard Widget Toolkit (SWT) framework implementation

The STK Java API now provides a native windowing framework implementation for SWT allowing our customers to write pure SWT Java applications.


Further, the new packages of agi.core and agi.stkx have been split to accommodate both the AWT and SWT windowing frameworks. The AWT windowing framework guidelines are listed in the previous feature entry entitled Abstract Window Toolkit (AWT) component repackaging/renaming for Globe/Map/GfxAnalysis components.


Applications built using the SWT windowing framework should adhere to the following guidelines:

  • Should import and use the agi.core.swt and agi.stkx.swt packages in addition to agi.core and agi.stkx packages.


  • Should initialize/uninitialize the STK Java API using ...

    • To initialize call the agi.core.swt.AgSwt_JNI.initialize() method.

    • To uninitialize call the agi.core.swt.AgSwt_JNI.uninitialize() method.


  • Should integrate STK's Globe, Map, GfxAnalysis controls by using ...

    • agi.stkx.swt.AgGlobeCntrlClass

    • agi.stkx.swt.AgMapCntrlClass

    • agi.stkx.swt.AgGfxAnalysisCntrlClass

Please refer to the STK Java API SWT based applications on the samples page. Specifically, the SWT samples are titled "SwtAgiCanvas" and "SwtAgiCanvasEclipsePlugin".

THE AWT/SWT Globe/Map/GfxAnalysis control's setPicture/getPicture deprecated

The setPicture/getPicture methods in the STK Java API's controls(all Globe/Map/GfxAnalysis classes/interfaces) for both the AWT and SWT implementation have now been deprecated in favor of "setPictureFromFile" and "getPictureFromFile" methods. The setPicture/getPicture methods will continue to function for backward compatibility and internal call the getPictureFromFile and setPictureFromFile methods. The class's that contain these deprecated methods are ...

  • agi.stkx.AgUiAxVOCntrl
  • agi.stkx.IAgUiAxVOCntrl
  • agi.stkx.AgUiAx2DCntrl
  • agi.stkx.IAgUiAx2DCntrl
  • agi.stkx.AgUiAxGfxAnalysisCntrl
  • agi.stkx.IAgUiAxGfxAnalysisCntrl
  • agi.stkx.AgGlobeCntrl
  • agi.stkx.AgMapCntrl
  • agi.stkx.AgGfxAnalysisCntrl
  • agi.stkx.awt.AgGlobeCntrlClass
  • agi.stkx.awt.AgMapCntrlClass
  • agi.stkx.awt.AgGfxAnalysisCntrlClass
  • agi.stkx.swt.AgGlobeCntrlClass
  • agi.stkx.swt.AgMapCntrlClass
  • agi.stkx.swt.AgGfxAnalysisCntrlClass

Please refer to the STK Java API javadocs for specifics on the API class/method deprecation.

Globe/Map/GfxAnalysis control new repackaging explanation

The various Globe/VO, Map/2D, and GfxAnalysis classes/interfaces have been redesigned for 9.0, but are still backward compatible for previous releases. The following is a quick explanation for each ...

agi.stkx.AgUiAxVOCntrl A backward compatible class that extends agi.stkx.awt.AgGlobeCntrlClass. It is an AWT component, so it can be added to any AWT GUI container class.
agi.stkx.IAgUiAxVOCntrl A backward compatible interface that all VO/Globe classes implement
agi.stkx.AgUiAx2DCntrl A backward compatible class that extends agi.stkx.awt.AgMapCntrlClass. It is an AWT component, so it can be added to any AWT GUI container class.
agi.stkx.IAgUiAx2DCntrl A backward compatible interface any 2D/Map control
agi.stkx.AgUiAxGfxAnalysisCntrl A backward compatible class that extends agi.stkx.awt.AgGfxAnalysisCntrlClass. It is an AWT component, so it can be added to any AWT GUI container class.
agi.stkx.IAgUiAxGfxAnalysisCntrl A backward compatible interface any GfxAnalysis control
agi.stkx.AgGlobeCntrl A new class for accessing the methods on a VO/Globe control. It is NOT an AWT component of SWT widget, therefore is not applicable as a GUI element.
agi.stkx.AgMapCntrl A new class for accessing the methods on a 2D/Map control. It is NOT an AWT component of SWT widget, therefore is not applicable as a GUI element.
agi.stkx.AgGfxAnalysisCntrl A new class for accessing the methods on a GfxAnalysis control. It is NOT an AWT component of SWT widget, therefore is not applicable as a GUI element.
agi.stkx.awt.AgGlobeCntrlClass The new and preferred AWT component for the VO/Globe graphics window. It is an AWT component, so it can be added to any AWT GUI container class.
agi.stkx.awt.AgMapCntrlClass The new and preferred AWT component for the 2D/Map graphics window. It is an AWT component, so it can be added to any AWT GUI container class.
agi.stkx.awt.AgGfxAnalysisCntrlClass The new and preferred AWT component for the GfxAnalysis graphics window. It is an AWT component, so it can be added to any AWT GUI container class.
agi.stkx.swt.AgGlobeCntrlClass The new and preferred SWT widget for the VO/Globe graphics window. It is an SWT component, so it can be added to any SWT GUI container class.
agi.stkx.swt.AgMapCntrlClass The new and preferred SWT widget for the 2D/Map graphics window. It is an SWT component, so it can be added to any SWT GUI container class.
agi.stkx.swt.AgGfxAnalysisCntrlClass The new and preferred SWT widget for the GfxAnalysis graphics window. It is an SWT component, so it can be added to any SWT GUI container class.

Please refer to the STK Java API javadocs for specifics on the API class/method deprecation.

agi.core.AgSafeArray deprecated methods

The AgSafeArray has deprecated some methods related to iterating through multidimensional arrays (i.e. getDimUpperBound(), getDimLowerBound(), getDimLength(), etc.), see the STK Java API javadocs deprecation flags on the agi.core.AgSafeArray class for details. Instead use getRowCount() and getColumnCount() as indicated in the STK Java API javadocs provided in the agi.javadocs.jar file.

Note: Effort has been taken to attempt to provide backward compatibility, however, some data returned in Multidimensional arrays may be returned in new element ordinals that are more accurate.

Please refer to the STK Java API javadocs for specifics on the API class/method deprecation.

What's New in STK Java API 8.1.x

Feature/Changes Description
STK Java API released on Windows

The STK Java API is officially released on the Windows operating systems. Previously the STK Java API was only available with STK Engine for Unix (4DX on Unix) releases 6.1.3, 7.0.1, and 8.0.2.

STK Programming Interface 11.0.1