mirror of
https://github.com/nasa/openmct.git
synced 2024-12-29 01:18:52 +00:00
49560698f6
Make a separate chart directive for drawing resource graphs in timelines. This is in preparation for a new plot bundle which will make a large number of changes to the drawing API to support newly requested features. By separating code, there will be no impact to the timeline when the new plot features are added.
38 lines
1.8 KiB
Markdown
38 lines
1.8 KiB
Markdown
# Plot README
|
|
|
|
## Chart
|
|
|
|
The `mct-chart` directive is used to support drawing of simple charts. It is
|
|
present to support the Plot view, and its functionality is limited to the
|
|
functionality that is relevant for that view.
|
|
|
|
This directive is used at the element level and takes one attribute, `draw`
|
|
which is an Angular expression which will should evaluate to a drawing object.
|
|
This drawing object should contain the following properties:
|
|
|
|
* `dimensions`: The size, in logical coordinates, of the chart area. A
|
|
two-element array or numbers.
|
|
* `origin`: The position, in logical coordinates, of the lower-left corner of
|
|
the chart area. A two-element array or numbers.
|
|
* `lines`: An array of lines (e.g. as a plot line) to draw, where each line is
|
|
expressed as an object containing:
|
|
* `buffer`: A Float32Array containing points in the line, in logical
|
|
coordinates, in sequential x,y pairs.
|
|
* `color`: The color of the line, as a four-element RGBA array, where
|
|
each element is a number in the range of 0.0-1.0.
|
|
* `points`: The number of points in the line.
|
|
* `boxes`: An array of rectangles to draw in the chart area. Each is an object
|
|
containing:
|
|
* `start`: The first corner of the rectangle, as a two-element array of
|
|
numbers, in logical coordinates.
|
|
* `end`: The opposite corner of the rectangle, as a two-element array of
|
|
numbers, in logical coordinates. color : The color of the line, as a
|
|
four-element RGBA array, where each element is a number in the range of
|
|
0.0-1.0.
|
|
|
|
While `mct-chart` is intended to support plots specifically, it does perform
|
|
some useful management of canvas objects (e.g. choosing between WebGL and Canvas
|
|
2D APIs for drawing based on browser support) so its usage is recommended when
|
|
its supported drawing primitives are sufficient for other charting tasks.
|
|
|