VSignal.ExternalBase NamespaceVisual Signal ExternalBase Class Library Documentation
API version 1.5.2

[This is preliminary documentation and is subject to change.]

 
Classes

  ClassDescription
Public classTExternalBase
ExternalBase - Base class implementing the IExternalDll interface. Any C# external user DLL must inherit this class and override implementation for Init and DoCompute.
Protected classTExternalBaseDllData
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.
Protected classTExternalBaseDllInputType
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.
Protected classTExternalBaseDllProperty
(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.
Public classTExternalBaseFileAttribute
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 (*.*)|*.*"
Public classTExternalBasePropertyOrderAttribute
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.
Public classTExternalForm
TExternalFormBase - Base class implementing the [!:IExternalForm] interface. Any C# external user dialog DLL must inherit this class and override implementation for [!:Init] and [!:DoCompute].
Public classTExternalViewer
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

  InterfaceDescription
Public interfaceIExternalDll
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.
Public interfaceIExternalLicenseManager
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.
Public interfaceIExternalViewer
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

  EnumerationDescription
Public enumerationAssociationTypes
Public enumerationTExternalBaseInputChannelTypes
This is the InputChanneltypes enumeration for all possible channel types
Public enumerationTExternalBaseInputCoordinateTypes
This is the InputCoordinateTypes enumeration for all possible coordinate types.
Public enumerationTExternalBaseInputDataTypes
This is the InputDataTypes enumeration for all possible acceptable data types.
Public enumerationTExternalBaseInputValueTypes
This is the InputValueTypes enumeration for all possible data value types