@fleet-frontend/mower-maps
Version:
a mower maps in google maps
155 lines • 4.55 kB
TypeScript
import { BoundaryElement, ChargingPileElement, TunnelElement, ObstacleData as ObstacleElement, VisionOffAreaData as VisionOffElement, TimeLimitObstacleData as DoodleElement } from '@/types';
type ChannelElement = TunnelElement;
type PathElement = {
id: number;
name: string;
type: string;
points: number[][];
};
type AntennaElement = {
id: number;
name: string;
type: string;
position: number[];
antennaId: number;
online: boolean;
};
/**
* 数据类型枚举
*/
export declare enum DataType {
BOUNDARY = "boundary",
CHANNEL = "channel",
OBSTACLE = "obstacle",
PATH = "path",
DOODLE = "doodle",
VISION_OFF = "visionOff",
ANTENNA = "antenna",
CHARGING_PILE = "chargingPile"
}
/**
* 渲染类型枚举
*/
export declare enum RenderType {
POINT = "point",
POLYGON = "polygon",
LINE = "line",
SVG = "svg"
}
/**
* 基础数据类
*/
export declare class BaseData<T> {
id: string | number;
type: DataType;
level: number;
points?: number[][];
renderType: RenderType;
originalData?: T;
constructor(id: string | number, type: DataType, level: number, renderType: RenderType, points?: number[][], originalData?: T);
}
/**
* 边界数据类
*/
export declare class BoundaryData extends BaseData<BoundaryElement> {
area?: number;
name?: string;
channels?: ChannelData[];
cuttingHeight?: number;
angle?: number;
recBaseAngle?: number;
direction?: number;
isFlowGlobal?: number;
edgeMowing?: number;
obstacleMowEdge?: number;
edgeVision?: number;
style?: Record<string, unknown>;
constructor(originalData?: BoundaryElement, level?: number, channels?: ChannelData[], style?: Record<string, unknown>);
}
/**
* 通道数据类
*/
export declare class ChannelData extends BaseData<ChannelElement> {
connectedBoundaries?: BoundaryData[];
isChargingPileTunnel?: boolean;
style?: Record<string, unknown>;
constructor(originalData?: ChannelElement, level?: number, connectedBoundaries?: BoundaryData[], isChargingPileTunnel?: boolean, style?: Record<string, unknown>);
}
/**
* 障碍物数据类
*/
export declare class ObstacleData extends BaseData<ObstacleElement> {
area?: number;
style?: Record<string, unknown>;
status?: number;
start_timestamp?: number;
end_timestamp?: number;
name?: string;
constructor(originalData?: ObstacleElement, level?: number, style?: Record<string, unknown>);
}
/**
* 路径数据类
*/
export declare class PathData extends BaseData<PathElement> {
pathType?: string;
style?: Record<string, unknown>;
constructor(originalData?: PathElement, level?: number, pathType?: string, style?: Record<string, unknown>);
}
/**
* 涂鸦数据类
*/
export declare class DoodleData extends BaseData<DoodleElement> {
svg: string;
scale: number;
direction: number;
center: number[];
style?: Record<string, unknown>;
create_ts: number;
expiration_ts: number;
constructor(originalData?: DoodleElement, level?: number, style?: Record<string, unknown>);
}
/**
* 视觉盲区数据类
*/
export declare class VisionOffData extends BaseData<VisionOffElement> {
style?: Record<string, unknown>;
constructor(originalData?: VisionOffElement, level?: number, style?: Record<string, unknown>);
}
/**
* 天线数据类
*/
export declare class AntennaData extends BaseData<AntennaElement> {
antennaId: number;
online: boolean;
size?: number;
style?: Record<string, unknown>;
constructor(originalData?: AntennaElement, level?: number, size?: number, style?: Record<string, unknown>);
}
/**
* 充电桩数据类
*/
export declare class ChargingPileData extends BaseData<ChargingPileElement> {
position: [number, number];
direction: number;
width: number;
length: number;
navPos?: [number, number];
tunnel?: ChannelData;
style?: Record<string, unknown>;
constructor(originalData?: ChargingPileElement, level?: number, tunnel?: ChannelData, style?: Record<string, unknown>);
}
/**
* 统一数据处理结果
*/
export interface ProcessedDataMap {
[DataType.BOUNDARY]?: BoundaryData[];
[DataType.CHANNEL]?: ChannelData[];
[DataType.OBSTACLE]?: ObstacleData[];
[DataType.PATH]?: PathData[];
[DataType.DOODLE]?: DoodleData[];
[DataType.VISION_OFF]?: VisionOffData[];
[DataType.ANTENNA]?: AntennaData[];
[DataType.CHARGING_PILE]?: ChargingPileData[];
}
export {};
//# sourceMappingURL=BaseData.d.ts.map