1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { __extends } from "tslib";
- import Path from '../Path.js';
- var sin = Math.sin;
- var cos = Math.cos;
- var radian = Math.PI / 180;
- var RoseShape = (function () {
- function RoseShape() {
- this.cx = 0;
- this.cy = 0;
- this.r = [];
- this.k = 0;
- this.n = 1;
- }
- return RoseShape;
- }());
- export { RoseShape };
- var Rose = (function (_super) {
- __extends(Rose, _super);
- function Rose(opts) {
- return _super.call(this, opts) || this;
- }
- Rose.prototype.getDefaultStyle = function () {
- return {
- stroke: '#000',
- fill: null
- };
- };
- Rose.prototype.getDefaultShape = function () {
- return new RoseShape();
- };
- Rose.prototype.buildPath = function (ctx, shape) {
- var R = shape.r;
- var k = shape.k;
- var n = shape.n;
- var x0 = shape.cx;
- var y0 = shape.cy;
- var x;
- var y;
- var r;
- ctx.moveTo(x0, y0);
- for (var i = 0, len = R.length; i < len; i++) {
- r = R[i];
- for (var j = 0; j <= 360 * n; j++) {
- x = r
- * sin(k / n * j % 360 * radian)
- * cos(j * radian)
- + x0;
- y = r
- * sin(k / n * j % 360 * radian)
- * sin(j * radian)
- + y0;
- ctx.lineTo(x, y);
- }
- }
- };
- return Rose;
- }(Path));
- Rose.prototype.type = 'rose';
- export default Rose;
|