dist/joint.nowrap.js
function(angle, absolute, origin, opt) {

        if (origin) {

            var center = this.getBBox().center();
            var size = this.get('size');
            var position = this.get('position');
            center.rotate(origin, this.get('angle') - angle);
            var dx = center.x - size.width / 2 - position.x;
            var dy = center.y - size.height / 2 - position.y;
            this.startBatch('rotate', { angle: angle, absolute: absolute, origin: origin });
            this.position(position.x + dx, position.y + dy, opt);
            this.rotate(angle, absolute, null, opt);
            this.stopBatch('rotate');

        } else {

            this.set('angle', absolute ? angle : (this.get('angle') + angle) % 360, opt);
        }

        return this;
    }
function(angle, absolute, origin, opt) {

        if (origin) {

            var center = this.getBBox().center();
            var size = this.get('size');
            var position = this.get('position');
            center.rotate(origin, this.get('angle') - angle);
            var dx = center.x - size.width / 2 - position.x;
            var dy = center.y - size.height / 2 - position.y;
            this.startBatch('rotate', { angle: angle, absolute: absolute, origin: origin });
            this.position(position.x + dx, position.y + dy, opt);
            this.rotate(angle, absolute, null, opt);
            this.stopBatch('rotate');

        } else {

            this.set('angle', absolute ? angle : (this.get('angle') + angle) % 360, opt);
        }

        return this;
    }
function ( angle , absolute , origin , opt ) { if ( origin ) { var center = this . getBBox ( ) . center ( ) ; var size = this . get ( 'size' ) ; var position = this . get ( 'position' ) ; center . rotate ( origin , this . get ( 'angle' ) - angle ) ; var dx = center . x - size . width / 2 - position . x ; var dy = center . y - size . height / 2 - position . y ; this . startBatch ( 'rotate' , { angle : angle , absolute : absolute , origin : origin } ) ; this . position ( position . x + dx , position . y + dy , opt ) ; this . rotate ( angle , absolute , null , opt ) ; this . stopBatch ( 'rotate' ) ; } else { this . set ( 'angle' , absolute ? angle : ( this . get ( 'angle' ) + angle ) % 360 , opt ) ; } return this ; }
Rotate element by `angle` degrees, optionally around `origin` point. If `origin` is not provided, it is considered to be the center of the element. If `absolute` is `true`, the `angle` is considered is abslute, i.e. it is not the difference from the previous angle.
Rotate element by angle degrees optionally around origin point . If origin is not provided it is considered to be the center of the element . If absolute is true the angle is considered is abslute i . e . it is not the difference from the previous angle .