.NET ModelKit Suite Documentation

The General Instrument Model

The Instrument is a compound object with a hierarchical structure. Any elements can be included in the instrument. The elements can be structurally divided into two groups: compound and simple. Compound elements are elements that can include any other elements.

The elements can be functionally divided into visual and non-visual. Visual elements are intended for instrument appearance assigning. Non-visual elements are intended for elements’ binding and grouping, as well as for assigning instrument functionality. The elements can be included in the instrument in different combinations. However, for practical use the instruments, specifically intended for displaying and assigning some certain values, are utilized.

Such elements are built according to the following scheme. One or several scales assigning and displaying value range are included in the instrument. Several sliders displaying (assigning) the current value are included. The elements, displaying the value in some other form, for example in the form of text line, can also be included.

For scale building the following elements are used: the “trajectory” object, in the line of which the scale is located, the Scale element that assigns the scale range. To assign trajectory, the elements supporting ITrajectory interface, are used. For example, Guide (linear trajectory) and Joint (circular trajectory). To visualize scale values, the elements that are the descendants from the ScaleElement base class, for example NumericLabels, ScaleLabels, TextLabels and Ticks, are used. To assign slider, the Slider element which represents the current scale value and allows changing it with the help of a mouse, is used. For slider visualization different visual elements (geometrical figures etc) bound to it by means of expressions can be used.

For example, to build a simple instrument the following structure is used:

The root element here is the Instrument that contains the circular trajectory (Joint1), in the line of which the scale (Scale1) is located. For scale visualization ticks (Ticks1) and marking (NumericLabels1) are used. The slider (Slider1) can move along the scale. To represent the current value slider, the pointer (Needle1) is used. The aforesaid scheme is analogous for the instruments that include several scales and sliders. For example, as it is shown on the following screenshots: