Home Manual Reference Source Test Repository

src/services/terrain/pathfinding/PathFinding.js

'use strict';
/** @namespace services.terrain.pathfinding */

const PathFindingBinder = require('bindings')('pathfinding').PathFindingBinder;
const Point = Mep.require('misc/Point');

let TAG = 'Pathfinding';

class PathFinding extends PathFindingBinder {
    /**
     * @method addObstacle
     * @memberof services.terrain.pathfinding.PathFinding#
     * @param {Array<misc.Point>} points - Array of points that represent polygon
     * @return {Number} - ID of the obstacle
     */
    // addObstacle(points) { return super.addObstacle(points); }

    /**
     * @method removeObstacle
     * @memberof services.terrain.pathfinding.PathFinding#
     * @param {Number} id - ID of the obstacle
     */
    // removeObstacle(id) { super.removeObstacle(id); }

    /**
     * @method search
     * @memberof services.terrain.pathfinding.PathFinding#
     * @param {misc.Point} start - Start point
     * @param {misc.Point} goal - Goal point
     * @return {Array<misc.Point>} - Array of pairs (x, y)
     */
    // search(start, goal) { return super.search(start, goal); }

    /**
     * Creates terrain finding algorithm for an area
     * @param maxX {Number} - Maximal value of X coordinate
     * @param minX {Number} - Minimal value of X coordinate
     * @param maxY {Number} - Maximal value of Y coordinate
     * @param minY {Number} - Minimal value of Y coordinate
     */
    constructor(maxX, minX, maxY, minY) {
        super(maxX, minX, maxY, minY);
    }
}

module.exports = PathFinding;