@babylonjs/viewer
Version:
The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.
3 lines (2 loc) • 3.77 kB
JavaScript
import{F as t}from"./KHR_interactivity-CKt1TdMW.esm.min.js";import{j as e,l as i,m as a,h as s,g as o,f as r}from"./declarationMapper-13w1YGqM.esm.min.js";import{M as n,V as l,Q as u,R as c}from"./index-Bw2N6w1y.esm.min.js";import{F as p}from"./flowGraphUnaryOperationBlock-CLj2X1HB.esm.min.js";import{F as h}from"./flowGraphBinaryOperationBlock-DFsKb2yF.esm.min.js";import"./objectModelMapping-DX92iJ8M.esm.min.js";import"./flowGraphCachedOperationBlock-rvkBwo1v.esm.min.js";class x extends p{constructor(t){super(o(t?.matrixType||"Matrix"),o(t?.matrixType||"Matrix"),(t=>t.transpose?t.transpose():n.Transpose(t)),"FlowGraphTransposeBlock",t)}}c("FlowGraphTransposeBlock",x);class m extends p{constructor(t){super(o(t?.matrixType||"Matrix"),r,(t=>t.determinant()),"FlowGraphDeterminantBlock",t)}}c("FlowGraphDeterminantBlock",m);class d extends p{constructor(t){super(o(t?.matrixType||"Matrix"),o(t?.matrixType||"Matrix"),(t=>t.inverse?t.inverse():n.Invert(t)),"FlowGraphInvertMatrixBlock",t)}}c("FlowGraphInvertMatrixBlock",d);class V extends h{constructor(t){super(o(t?.matrixType||"Matrix"),o(t?.matrixType||"Matrix"),o(t?.matrixType||"Matrix"),((t,e)=>e.multiply(t)),"FlowGraphMatrixMultiplicationBlock",t)}}c("FlowGraphMatrixMultiplicationBlock",V);class g extends t{constructor(t){super(t),this.input=this.registerDataInput("input",a),this.position=this.registerDataOutput("position",e),this.rotationQuaternion=this.registerDataOutput("rotationQuaternion",i),this.scaling=this.registerDataOutput("scaling",e),this.isValid=this.registerDataOutput("isValid",s,!1)}_updateOutputs(t){const e=t._getExecutionVariable(this,"executionId",-1),i=t._getExecutionVariable(this,"cachedPosition",null),a=t._getExecutionVariable(this,"cachedRotation",null),s=t._getExecutionVariable(this,"cachedScaling",null);if(e===t.executionId&&i&&a&&s)this.position.setValue(i,t),this.rotationQuaternion.setValue(a,t),this.scaling.setValue(s,t);else{const e=this.input.getValue(t),o=i||new l,r=a||new u,n=s||new l,c=Math.round(1e4*e.m[3])/1e4,p=Math.round(1e4*e.m[7])/1e4,h=Math.round(1e4*e.m[11])/1e4,x=Math.round(1e4*e.m[15])/1e4;if(0!==c||0!==p||0!==h||1!==x)return this.isValid.setValue(!1,t),this.position.setValue(l.Zero(),t),this.rotationQuaternion.setValue(u.Identity(),t),void this.scaling.setValue(l.One(),t);const m=e.decompose(n,r,o);this.isValid.setValue(m,t),this.position.setValue(o,t),this.rotationQuaternion.setValue(r,t),this.scaling.setValue(n,t),t._setExecutionVariable(this,"cachedPosition",o),t._setExecutionVariable(this,"cachedRotation",r),t._setExecutionVariable(this,"cachedScaling",n),t._setExecutionVariable(this,"executionId",t.executionId)}}getClassName(){return"FlowGraphMatrixDecompose"}}c("FlowGraphMatrixDecompose",g);class M extends t{constructor(t){super(t),this.position=this.registerDataInput("position",e),this.rotationQuaternion=this.registerDataInput("rotationQuaternion",i),this.scaling=this.registerDataInput("scaling",e),this.value=this.registerDataOutput("value",a)}_updateOutputs(t){const e=t._getExecutionVariable(this,"executionId",-1),i=t._getExecutionVariable(this,"cachedMatrix",null);if(e===t.executionId&&i)this.value.setValue(i,t);else{const e=n.Compose(this.scaling.getValue(t),this.rotationQuaternion.getValue(t),this.position.getValue(t));this.value.setValue(e,t),t._setExecutionVariable(this,"cachedMatrix",e),t._setExecutionVariable(this,"executionId",t.executionId)}}getClassName(){return"FlowGraphMatrixCompose"}}c("FlowGraphMatrixCompose",M);export{m as FlowGraphDeterminantBlock,d as FlowGraphInvertMatrixBlock,M as FlowGraphMatrixComposeBlock,g as FlowGraphMatrixDecomposeBlock,V as FlowGraphMatrixMultiplicationBlock,x as FlowGraphTransposeBlock};
//# sourceMappingURL=flowGraphMatrixMathBlocks-Dqjn_c2Q.esm.min.js.map