@visactor/vgrammar-coordinate
Version:
Coordinates for VGrammar
32 lines (31 loc) • 1.52 kB
TypeScript
import type { IPointLike } from '@visactor/vutils';
import { Coordinate } from './base';
import type { IPolarCoordinate, IDimensionType, IPolarPointLike } from './interface';
export declare class PolarCoordinate extends Coordinate implements IPolarCoordinate {
readonly type = "polar";
private _isUserOrigin;
private _isUserRadius;
protected startAngle: number;
protected endAngle: number;
protected innerRadius: number;
protected outerRadius: number;
private _updateStartEndPoint;
protected _updateSize(): void;
angle(): [number, number];
angle(startAngle: number, endAngle: number): this;
angle(angle: [number, number]): this;
radius(): [number, number];
radius(innerRadius: number, outerRadius: number): this;
radius(radius: [number, number]): this;
origin(): IPointLike;
origin(point: IPointLike): this;
origin(point: [number, number]): this;
origin(x: number, y: number): this;
convert(point: IPolarPointLike | IPointLike | [number, number]): IPointLike;
invert(point: IPointLike): IPolarPointLike;
getRangeByDimension(dim: IDimensionType, isSubshaft?: boolean, reversed?: boolean): [number, number];
getVisualPositionByDimension(dim: IDimensionType, isSubshaft?: boolean, reversed?: boolean): "inside" | "outside" | "end" | "start";
getAxisPointsByDimension(dim: IDimensionType, isSubshaft?: boolean, reversed?: boolean, baseValue?: number): [IPointLike, IPointLike];
private convertPoint;
private invertPoint;
}