| 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; |