import { __extends } from "tslib"; 
 | 
import Path from '../Path.js'; 
 | 
var PI = Math.PI; 
 | 
var sin = Math.sin; 
 | 
var cos = Math.cos; 
 | 
var IsogonShape = (function () { 
 | 
    function IsogonShape() { 
 | 
        this.x = 0; 
 | 
        this.y = 0; 
 | 
        this.r = 0; 
 | 
        this.n = 0; 
 | 
    } 
 | 
    return IsogonShape; 
 | 
}()); 
 | 
export { IsogonShape }; 
 | 
var Isogon = (function (_super) { 
 | 
    __extends(Isogon, _super); 
 | 
    function Isogon(opts) { 
 | 
        return _super.call(this, opts) || this; 
 | 
    } 
 | 
    Isogon.prototype.getDefaultShape = function () { 
 | 
        return new IsogonShape(); 
 | 
    }; 
 | 
    Isogon.prototype.buildPath = function (ctx, shape) { 
 | 
        var n = shape.n; 
 | 
        if (!n || n < 2) { 
 | 
            return; 
 | 
        } 
 | 
        var x = shape.x; 
 | 
        var y = shape.y; 
 | 
        var r = shape.r; 
 | 
        var dStep = 2 * PI / n; 
 | 
        var deg = -PI / 2; 
 | 
        ctx.moveTo(x + r * cos(deg), y + r * sin(deg)); 
 | 
        for (var i = 0, end = n - 1; i < end; i++) { 
 | 
            deg += dStep; 
 | 
            ctx.lineTo(x + r * cos(deg), y + r * sin(deg)); 
 | 
        } 
 | 
        ctx.closePath(); 
 | 
        return; 
 | 
    }; 
 | 
    return Isogon; 
 | 
}(Path)); 
 | 
Isogon.prototype.type = 'isogon'; 
 | 
export default Isogon; 
 |