import{s as h,l as y,c}from"./model.vue.8f6f7b03.js";import"./entry.a42f0781.js";const d=[1,2,4,8,16,32],f=[0,1,2,3,4,5];async function _(o){var n,e;if(o.done)return;h.attach(this.outerObject3d);const{slipperyMaterial:l,defaultMaterial:p,world:r,Body:u,Vec3:a}=await y();if(o.done)return;const i=this.cannonBody=new u({mass:(n=this._mass)!==null&&n!==void 0?n:1,material:this._slippery?l:p,collisionFilterGroup:d[(e=this._physicsGroup)!==null&&e!==void 0?e:0],collisionFilterMask:f.filter(s=>{var t;return!(!((t=this._ignorePhysicsGroups)===null||t===void 0)&&t.includes(s))}).map(s=>d[s]).reduce((s,t)=>s+t,0)});await this.physicsShape(),!o.done&&(this._physics==="2d"&&(i.angularFactor=new a(0,0,1),i.linearFactor=new a(1,1,0)),this._noTumble&&(i.angularFactor=new a(0,0,0)),i.position.copy(this.outerObject3d.position),i.quaternion.copy(this.outerObject3d.quaternion),this.physicsUpdate={},r.addBody(i),c.add(this),o.then(()=>{r.removeBody(i),c.delete(this),this.cannonBody=void 0,this.physicsUpdate=void 0}))}export{_ as default};