The COM component can be created using compiled code (C++, C#, Visual Basic, etc.) or using a Windows Script Component created using a script language (VBScript, JScript, PerlScript, etc.). Each function of the interface must be implemented, though functions are not required to do anything other than return an error status (either true or false). Once created, the user must register the component in the Windows Registry. After creation and registration, the plugin can be used as an engine model.
The plugin component will be called at certain event times defined by the interface (see the members of the interface). During these calls, the component may request input values and set output values that can affect the computation. Inputs and outputs are accessed through an interface component (either IAgGatorPluginResultState or IAgGatorPluginResultEvalEngineModel as defined by the interface function calls) . The interface component is sent to the plugin component as the lone argument to the function calls.
Evaluate | Triggered on every force model evaluation during the propagation of a step. Use the input interface to access engine model settings. Returning false will turn this callback off. |
Free | Triggered just before the plugin is freed from use to allow for any additional cleanup. |
Init | Triggered when the plugin is initialized to allow for any additional needed initialization. Must return true to turn on use of plugin. |
PreNextStep | Triggered just before the next propagation step is attempted. Use the input interface to access engine model settings. Returning false will turn this callback off. |
PrePropagate | Triggered just before propagation starts. Use the input interface to access engine model settings. |
Name | Triggered to set the name of the plugin used in messages. |