()
| 116 | } |
| 117 | |
| 118 | async function runCode() { |
| 119 | let model = ifcAPI.CreateModel({ schema: Schemas.IFC4 }); |
| 120 | |
| 121 | scene.clear(); |
| 122 | InitBasicScene(); |
| 123 | |
| 124 | let code = window.localStorage.getItem("code"); |
| 125 | let compiled = ts.transpileModule(code, { |
| 126 | compilerOptions: { module: ts.ModuleKind.CommonJS }, |
| 127 | }); |
| 128 | |
| 129 | // this is where we do evil stuff |
| 130 | { |
| 131 | console.log(` --- Starting EVAL!`); |
| 132 | eval( |
| 133 | "(function (ifcAPI,IFCAXIS2PLACEMENT3D,IFCLENGTHMEASURE,IFCCARTESIANPOINT,IFCAXIS2PLACEMENT2D,IFCCIRCLEPROFILEDEF,IFCDIRECTION,IFCREAL,IFCPOSITIVELENGTHMEASURE,IFCCOLUMN,IFCEXTRUDEDAREASOLID,IFCGLOBALLYUNIQUEID,IFCLABEL,IFCIDENTIFIER) {" + |
| 134 | compiled.outputText + |
| 135 | "})" |
| 136 | )( |
| 137 | ifcAPI, |
| 138 | IFCAXIS2PLACEMENT3D, |
| 139 | IFCLENGTHMEASURE, |
| 140 | IFCCARTESIANPOINT, |
| 141 | IFCAXIS2PLACEMENT2D, |
| 142 | IFCCIRCLEPROFILEDEF, |
| 143 | IFCDIRECTION, |
| 144 | IFCREAL, |
| 145 | IFCPOSITIVELENGTHMEASURE, |
| 146 | IFCCOLUMN, |
| 147 | IFCEXTRUDEDAREASOLID, |
| 148 | IFCGLOBALLYUNIQUEID, |
| 149 | IFCLABEL, |
| 150 | IFCIDENTIFIER |
| 151 | ); |
| 152 | console.log(` --- Ending EVAL!`); |
| 153 | } |
| 154 | |
| 155 | let ifcData = ifcAPI.SaveModel(model); |
| 156 | let ifcDataString = new TextDecoder("ascii").decode(ifcData); |
| 157 | |
| 158 | ifcAPI.CloseModel(model); |
| 159 | |
| 160 | let m2 = ifcAPI.OpenModel(ifcData); |
| 161 | ifcThree.LoadAllGeometry(scene, m2); |
| 162 | } |
| 163 | |
| 164 | async function resetCode() { |
| 165 | window.localStorage.setItem("code", exampleCode); |
nothing calls this directly
no test coverage detected