scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
111 lines (110 loc) • 4.61 kB
TypeScript
import { CoordinateCalculatorBase } from "../../../Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase";
import { ELogarithmicMajorTickMode, ELogarithmicMinorTickMode } from "../../../Charting/Numerics/TickProviders/LogarithmicTickProvider";
import { TEasingFn } from "../../../Core/Animations/EasingFunctions";
import { NumberRange } from "../../../Core/NumberRange";
import { EAxisType } from "../../../types/AxisType";
import { TSciChart3D } from "../../../types/TSciChart3D";
import { AxisBase3D } from "./AxisBase3D";
import { INumericAxis3dOptions } from "./NumericAxis3D";
/**
* Optional parameters used to configure a {@link LogarithmicAxis3D} at construct time
*/
export interface ILogarithmicAxis3dOptions extends INumericAxis3dOptions {
/**
* The Logarithmic Base for the axis. Defaults to 10
*/
logBase?: number;
/**
* False if this axis only shows positive values, true if it only shows negative.
* A log axis cannot show both positive and negative values.
*/
isNegative?: boolean;
/**
* The mode for Major ticks using {@link ELogarithmicMajorTickMode}
* Equally spaced (default, best for large ranges) or
* Round numbers (better for small ranges)
*/
majorTickMode?: ELogarithmicMajorTickMode;
/**
* The mode for minor ticks using {@link ELogarithmicMinorTickMode},
* Linear (default, best for smaller ranges),
* Logarithmic (better for very large ranges) or
* Auto (switches from linear to Logarithmic when the visible range is such that
* the first linear minor tick would be more than 70% of the major tick)
*/
minorTickMode?: ELogarithmicMinorTickMode;
/** If false, only ticks that are whole number multiples of the log base will be used */
isHighPrecisionTicks?: boolean;
}
/**
* @summary A 3D Chart Logarithmic Numeric Axis type
* @description A LogarithmicAxis3D uses logarithmic scaling of values to coordinates.
* The axis can represent positive or negative values, but not both at the same time.
* @remarks
* Set a {@link LogarithmicAxis3D} on the {@link SciChart3DSurface.xAxis}, {@link SciChart3DSurface.yAxis}
* or {@link SciChart3DSurface.zAxis} property.
*/
export declare class LogarithmicAxis3D extends AxisBase3D {
/**
* @inheritDoc
*/
readonly type: EAxisType;
private logBaseProperty;
private isNegativeProperty;
private isHighPrecisionTicksProperty;
/**
* Creates an instance of a {@link LogarithmicAxis3D}
* @param webAssemblyContext The {@link TSciChart3D | SciChart 3D WebAssembly Context} containing native methods and
* access to our WebGL2 Engine and WebAssembly numerical methods
* @param options optional parameters of type {@link ILogarithmicAxis3dOptions} to configure the axis
*/
constructor(webAssemblyContext: TSciChart3D, options?: ILogarithmicAxis3dOptions);
/**
* Gets or sets the Logarithmic Base for the axis. Defaults to 10
*/
get logBase(): number;
/**
* Gets or sets the Logarithmic Base for the axis. Defaults to 10
*/
set logBase(logBase: number);
/**
* Gets or sets whether this axis shows negative values only (true) or positive values only (false)
*/
get isNegative(): boolean;
set isNegative(isNegative: boolean);
get isHighPrecisionTicks(): boolean;
set isHighPrecisionTicks(value: boolean);
/**
* Gets or sets the mode for Major ticks using {@link ELogarithmicMajorTickMode}
*/
get majorTickMode(): ELogarithmicMajorTickMode;
set majorTickMode(mode: ELogarithmicMajorTickMode);
/**
* Gets or sets the mode for minor ticks using {@link ELogarithmicMinorTickMode}
*/
get minorTickMode(): ELogarithmicMinorTickMode;
set minorTickMode(mode: ELogarithmicMinorTickMode);
/**
* @inheritDoc
*/
getDefaultNonZeroRange(): NumberRange;
/**
* @inheritDoc
*/
hasValidVisibleRange(): boolean;
/**
* @inheritDoc
*/
animateVisibleRange(visibleRange: NumberRange, durationMs: number, easingFunction?: TEasingFn, onCompleted?: () => void): import("../../..").IGenericAnimation;
/**
* @inheritDoc
*/
getMaximumRange(): NumberRange;
toJSON(): import("../../..").TAxis3DDefinition;
/**
* @inheritDoc
*/
protected getCurrentCoordinateCalculatorInternal(): CoordinateCalculatorBase;
private get logTickProvider();
private updateProviders;
}