UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 645 B
export default class n{x1;y1;x2;y2;x3;y3;x4;y4;constructor(t,i,h,x,y,s,o,c){this.x1=t,this.y1=i,this.x2=h,this.y2=x,this.x3=y,this.y3=s,this.x4=o,this.y4=c}static fromRect(t){return new n(t.x1,t.y1,t.x2,t.y1,t.x2,t.y2,t.x1,t.y2)}rotate(t,i,h){if(!t)return this;const x=Math.sin(t),y=Math.cos(t);function s(e,r){const u=e-i,a=r-h,m=u*y+a*x,p=a*y-u*x;return e=i+m,r=h+p,[e,r]}const[o,c]=s(this.x1,this.y1),[f,w]=s(this.x2,this.y2),[l,D]=s(this.x3,this.y3),[M,d]=s(this.x4,this.y4);return new n(o,c,f,w,l,D,M,d)}toTriangles(){return[[[this.x1,this.y1],[this.x2,this.y2],[this.x4,this.y4]],[[this.x2,this.y2],[this.x4,this.y4],[this.x3,this.y3]]]}}