scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
109 lines (108 loc) • 4.79 kB
TypeScript
import { NumberRange } from "../../Core/NumberRange";
import { ESearchMode } from "../../types/SearchMode";
import { SCRTDoubleVector, TSciChart } from "../../types/TSciChart";
import { BaseHeatmapDataSeries, IBaseHeatmapSeriesOptions } from "./BaseHeatmapDataSeries";
import { EDataChangeType, EDataSeriesType } from "./IDataSeries";
export declare type TCellSizeMapper = (index: number) => number;
/**
* Options to pass to the {@link NonUniformHeatmapSeries} constructor
*/
export interface INonUniformHeatmapSeriesOptions extends IBaseHeatmapSeriesOptions {
/**
* xCellOffsets defines cell X offsets on {@link NonUniformHeatmapDataSeries} for each cell in the heatmap.
* Can be an array of numbers or a mapping function {@link TCellSizeMapper}
* @remarks mapping function would not be preserved by chart serialization
*/
xCellOffsets: number[] | TCellSizeMapper;
/**
* yCellOffsets defines cell Y offsets on {@link NonUniformHeatmapDataSeries} for each cell in the heatmap.
* Can be an array of numbers or a mapping function {@link TCellSizeMapper}
* @remarks mapping function would not be preserved by chart serialization
*/
yCellOffsets: number[] | TCellSizeMapper;
}
export declare class NonUniformHeatmapDataSeries extends BaseHeatmapDataSeries {
/**
* @inheritDoc
*/
readonly type: EDataSeriesType;
private xRangeProperty;
private yRangeProperty;
private xCellSizesProperty;
private yCellSizesProperty;
private xCellOffsetsProperty;
private yCellOffsetsProperty;
private nativeYOffsetsProperty;
private nativeXOffsetsProperty;
private xCellOffsetsGeneratorFunction;
private yCellOffsetsGeneratorFunction;
/**
* Creates an instance of {@link UniformHeatmapDataSeries}
* @param webAssemblyContext the {@link TSciChart | SciChart WebAssembly Context} containing native methods
* and access to our underlying WebGL2 rendering engine
* @param options the {@link IUniformHeatmapSeriesOptions} which must be passed to configure the series
*/
constructor(webAssemblyContext: TSciChart, options: INonUniformHeatmapSeriesOptions);
/**
* Gets or sets cell X sizes on {@link NonUniformHeatmapDataSeries} for each cell in the heatmap.
* Can be an array of numbers or a mapping function {@link TCellSizeMapper}
*/
get xCellSizes(): number[];
/**
* Gets or sets cell Y sizes on {@link NonUniformHeatmapDataSeries} for each cell in the heatmap.
* Can be an array of numbers or a mapping function {@link TCellSizeMapper}
*/
get yCellSizes(): number[];
/**
* Gets X cell offsets on {@link NonUniformHeatmapDataSeries} for each cell in the heatmap.
*/
get xCellOffsets(): number[];
/**
* Gets Y cell offsets on {@link NonUniformHeatmapDataSeries} for each cell in the heatmap.
*/
get yCellOffsets(): number[];
/**
* Gets X cell offsets as native vector on {@link NonUniformHeatmapDataSeries} for each cell in the heatmap.
*/
get nativeXCellOffsets(): SCRTDoubleVector;
/**
* Gets X cell offsets as native vector on {@link NonUniformHeatmapDataSeries} for each cell in the heatmap.
*/
get nativeYCellOffsets(): SCRTDoubleVector;
/**
* Gets the X-value at the specified index. This will be computed from constructor parameters xCellOffsets and xStart
* @param xIndex
*/
getXValue(xIndex: number): number;
/**
* Gets the Y-value at the specified index. This will be computed from constructor parameters yCellOffsets and yxStart
* @param xIndex
*/
getYValue(yIndex: number): number;
/**
* @inheritDoc
*/
notifyDataChanged(updateType: EDataChangeType, data?: any): void;
/**
* @inheritDoc
*/
getXRange(): NumberRange;
/**
* @inheritDoc
*/
getYRange(): NumberRange;
getXIndicesRange(visibleRange: NumberRange, isCategoryData: boolean, downSearchMode?: ESearchMode, upSearchMode?: ESearchMode): NumberRange;
getYIndicesRange(visibleRange: NumberRange, isCategoryData: boolean, downSearchMode?: ESearchMode, upSearchMode?: ESearchMode): NumberRange;
delete(): void;
protected getOptions(excludeData?: boolean): INonUniformHeatmapSeriesOptions;
/**
* @param cellOffsets
* @returns an array with cell sizes to heatmap size ratios
*/
protected mapCellSizes(zValuesDimensionSize: number, mapping: TCellSizeMapper): number[];
/**
* @param cellOffsets
* @returns an array with cell sizes to heatmap size ratios
*/
protected calculateCellSizes(cellOffsets: number[]): number[];
}