當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript point.from函數代碼示例

本文整理匯總了TypeScript中src/lib/point.from函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript from函數的具體用法?TypeScript from怎麽用?TypeScript from使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了from函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: alongTheLine

export function alongTheLine(
    start: PointLike,
    end: PointLike = [Infinity, Infinity],
    vector: PointLike = new Point(start, end),
    large = false,
): Point {
    const uVector = Point.from(vector).sign();
    const sNode = large ? PointCall(start, 'mul', 0.05) : Point.from(start);
    const eNode = large ? PointCall(end, 'mul', 0.05) : Point.from(end);

    // 起點並不是導線或者起點等於終點,直接返回
    if (!isLine(sNode) || sNode.isEqual(eNode)) {
        return Point.from(start);
    }

    let node = sNode, next = node.add(uVector);
    // 當前點沒有到達終點,還在導線所在直線內部,那就前進
    while (isLine(next) && !node.isEqual(eNode)) {
        if (hasConnect(node, next)) {
            node = next;
            next = node.add(uVector);
        }
        else {
            break;
        }
    }

    return large ? node.mul(20) : node;
}
開發者ID:rectification,項目名稱:circuitlab,代碼行數:29,代碼來源:map.ts

示例2:

 points: Electronics[prop.type].points.map(({ direction, position }) => ({
     size: -1,
     class: 'part-point-open' as 'part-point-open',
     direction: Point.from(direction),
     position: Point.from(position),
     originPosition: Point.from(position),
 })),
開發者ID:rectification,項目名稱:circuitlab,代碼行數:7,代碼來源:electronic-line.spec.ts

示例3: test

    test('create a instance', () => {
        expect(Point.from(5)).toEqual(new Point(5, 5));
        expect(Point.from([0, 0])).toEqual(new Point(0, 0));
        expect(Point.from([5, 4])).toEqual(new Point(5, 4));
        expect(new Point([0, 1], [10, 0])).toEqual(new Point(10, -1));

        expect(Point.from(5)).toEqual(Point.from([5, 5]));
    });
開發者ID:rectification,項目名稱:circuitlab,代碼行數:8,代碼來源:point.spec.ts

示例4: deleteConnect

export function deleteConnect(point: PointLike, connect: PointLike, large = false): boolean {
    const origin = large ? PointCall(point, 'mul', 0.05) : Point.from(point);
    const check = large ? PointCall(connect, 'mul', 0.05) : Point.from(connect);
    const key = point2key(origin);
    const data = $map[key];

    if (!data) {
        throw new Error(`(map) space point: ${key}`);
    }

    return data.connect.delete((node) => node.isEqual(check));
}
開發者ID:rectification,項目名稱:circuitlab,代碼行數:12,代碼來源:map.ts

示例5: addConnect

export function addConnect(point: PointLike, connect: PointLike, large = false): void {
    const origin = large ? PointCall(point, 'mul', 0.05) : Point.from(point);
    const check = large ? PointCall(connect, 'mul', 0.05) : Point.from(connect);
    const key = point2key(origin);
    const data = $map[key];

    if (!data) {
        throw new Error(`(map) space point: ${key}`);
    }

    if (!hasConnect(origin, check)) {
        data.connect.push(check);
    }
}
開發者ID:rectification,項目名稱:circuitlab,代碼行數:14,代碼來源:map.ts

示例6: endToPoint

    /**
     * 終點(起點)指向某點
     *  - 導線節點數量少於`1`則忽略
     */
    endToPoint(node: Point, mode: 'start' | 'end' = 'end'): this {
        if (this.length <= 1) {
            return this;
        }

        let last, prev;
        if (mode === 'end') {
            last = this.length - 1;
            prev = this.length - 2;
        }
        else if (mode === 'start') {
            last = 0;
            prev = 1;
        }
        else {
            throw new Error('LineWay: Illegal mode');
        }

        if (this[last][0] === this[prev][0]) {
            this[prev][0] = node[0];
        }
        else {
            this[prev][1] = node[1];
        }
        this[last] = Point.from(node);

        return this;
    }
開發者ID:rectification,項目名稱:circuitlab,代碼行數:32,代碼來源:line-way.ts

示例7: dataClone

/**
 * 返回地圖標記數據的副本
 * @param {NodeInputData} data 原始數據
 * @returns {NodeData}
 */
function dataClone(data: NodeInputData): NodeData {
    return {
        id: data.id,
        type: data.type,
        point: Point.from(data.point),
        connect: data.connect ? data.connect.map(Point.from) : [],
    };
}
開發者ID:rectification,項目名稱:circuitlab,代碼行數:13,代碼來源:map.ts

示例8: from

    static from(points: Point[] | PointLike[]) {
        const way = new LineWay(points.length);

        for (let i = 0; i < points.length; i++) {
            way[i] = Point.from(points[i]);
        }

        return way;
    }
開發者ID:rectification,項目名稱:circuitlab,代碼行數:9,代碼來源:line-way.ts


注:本文中的src/lib/point.from函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。