API version 1.5.2
[This is preliminary documentation and is subject to change.]
Classes
| Class | Description | |
|---|---|---|
| TExternalBase |
ExternalBase - Base class implementing the IExternalDll interface.
Any C# external user DLL must inherit this class and override implementation for
Init and DoCompute.
| |
| TExternalBaseDllData |
DLLData - This class represents a data object used by the user DLL. Before DLL's
computation stage, Visual Signal's ExternalDll will pass input descriptors
and data via setInputDescriptors(String), setInputDataRe(Int32, Int32, Double), and
setInputDataIm(Int32, Int32, Double) and converted automatically to an array of DllData objects.
User DLL may access these info directly via the member _inputData,
or via functions such as GetInputDataRe(Int32, Int32), GetInputDataIm(Int32, Int32), etc.
| |
| TExternalBaseDllInputType |
DllInputType - This class represents an input type accepted by the user DLL. The user DLL
should initialize the number of accepted DllInputType objects and store them in
_inputTypes list in Init using AcceptInput() function.
This information will be used by Visual Signal to determine whether an input connection to the user's
DLL is valid or not.
| |
| TExternalBaseDllProperty |
(Deprecated) DllProperty - This class represents a property used by the user DLL. The user DLL
should initialize the number of required DllProperty objects and store them in
_properties dictionary in Init using RegisterProperty().
Before DLL's computation stage, Visual Signal's ExternalDll will update the value of the
properties via setProperties(String); after DLL's computation, user DLL is responsible for
updating the property values via UpdateProperty(String, Object).
This is deprecated. It is no longer necessary to access property object directly. Define and
access the properties like any other C# property using appropriate attributes. Properties must
be public and browsable.
| |
| TExternalBaseFileAttribute |
This is the File attribute to be used when defining a filename-related property, indicating
that the property is a file path, and can invoke the OpenFile dialog in Visual Signal.
The filters used in OpenFile dialog can be specified using the standard "|"-separated .Net filter specification in [filter].
For example: "Text files (*.txt)|*.txt|All files (*.*)|*.*", or
"Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*"
| |
| TExternalBasePropertyOrderAttribute |
This is the PropertyOrder attribute to be used when defining a property, indicating
the order in which the property is to be displayed in the VisualSignal property window.
| |
| TExternalForm |
TExternalFormBase - Base class implementing the [!:IExternalForm] interface.
Any C# external user dialog DLL must inherit this class and override implementation for
[!:Init] and [!:DoCompute].
| |
| TExternalViewer |
ExternalViewer - Base viewer class inherited from TExternalBase, and also
implementing the IExternalViewer interface . Any C# external user viewer DLL
must inherit this class and override implementation for Init and DoCompute,
and optionally UpdateViewerProperty.
|
Interfaces
| Interface | Description | |
|---|---|---|
| IExternalDll |
IExternalDll - Interface of externally visible functions provided by all external user DLLs.
All functions exported in the interface are used by Visual Signal's ExternalDll module
to communicate with and control the execution of the user DLL. Default implementations
will be provided in TExternalBase, which can be inherited to provide custom
behaviour.
| |
| IExternalLicenseManager |
IExternalLicenseManager - Interface of external license manager. If license control is
required in an external module, a license manager must be implemented according to this
interface, and its ID registered in the module. Visual Signal will be responsible for
the creation and initialization of all license managers available in the External directory.
For security reasons, the implemented license manager *must* be included in the same assembly
as the associated external modules to prevent spoofing. However, it is possible to implement
IExternalLicenseManager as proxy license managers to be included in various assemblies, and
have the proxy license managers accessing a central license control manager located in a
separate assembly.
*** Note that the implemented license manager class, as well as license controlled modules must
be "sealed" to prevent re-inheriting the classes.
| |
| IExternalViewer |
IExternalViewer - Interface of externally visible functions provided by external user viewers.
All functions exported in the interface are used by Visual Signal's ExternalDll module
to communicate with and control the execution of the user DLL. Default implementations
will be provided in TExternalViewer, which can be inherited to provide custom
behaviour.
|
Enumerations
| Enumeration | Description | |
|---|---|---|
| AssociationTypes | ||
| TExternalBaseInputChannelTypes |
This is the InputChanneltypes enumeration for all possible channel types
| |
| TExternalBaseInputCoordinateTypes |
This is the InputCoordinateTypes enumeration for all possible coordinate types.
| |
| TExternalBaseInputDataTypes |
This is the InputDataTypes enumeration for all possible acceptable data types.
| |
| TExternalBaseInputValueTypes |
This is the InputValueTypes enumeration for all possible data value types
|