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; }