UNPKG

@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.88 kB
import{F as t}from"./KHR_interactivity-D4lwBSW9.esm.min.js";import{f as e,h as i,i as a,a as s,g as o,d as r}from"./declarationMapper-D_filC93.esm.min.js";import{M as n,V as u,aD as l,u as c}from"./index-BPURObVq.esm.min.js";import{F as p}from"./flowGraphUnaryOperationBlock-BBzBQioQ.esm.min.js";import{F as h}from"./flowGraphBinaryOperationBlock-Mw919lC0.esm.min.js";import"./objectModelMapping-ClgDmo5Q.esm.min.js";import"./spotLight.pure-5s2DDDIt.esm.min.js";import"./flowGraphCachedOperationBlock-CIvATd1Y.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)}}class m extends p{constructor(t){super(o(t?.matrixType||"Matrix"),r,t=>t.determinant(),"FlowGraphDeterminantBlock",t)}}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)}}class g extends h{constructor(t){super(o(t?.matrixType||"Matrix"),o(t?.matrixType||"Matrix"),o(t?.matrixType||"Matrix"),(t,e)=>e.multiply(t),"FlowGraphMatrixMultiplicationBlock",t)}}class V 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 u,r=a||new l,n=s||new u,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(u.Zero(),t),this.rotationQuaternion.setValue(l.Identity(),t),void this.scaling.setValue(u.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"}}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"}}let w=!1;function F(){w||(w=!0,c("FlowGraphTransposeBlock",x),c("FlowGraphDeterminantBlock",m),c("FlowGraphInvertMatrixBlock",d),c("FlowGraphMatrixMultiplicationBlock",g),c("FlowGraphMatrixDecompose",V),c("FlowGraphMatrixCompose",M))}F();export{m as FlowGraphDeterminantBlock,d as FlowGraphInvertMatrixBlock,M as FlowGraphMatrixComposeBlock,V as FlowGraphMatrixDecomposeBlock,g as FlowGraphMatrixMultiplicationBlock,x as FlowGraphTransposeBlock,F as RegisterFlowGraphMatrixMathBlocks}; //# sourceMappingURL=flowGraphMatrixMathBlocks-o9-8Azdm.esm.min.js.map