MCPcopy Create free account
hub / github.com/ThatOpen/engine_web-ifc / runCode

Function runCode

examples/viewer/web-ifc-viewer.ts:118–162  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

116}
117
118async 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
164async function resetCode() {
165 window.localStorage.setItem("code", exampleCode);

Callers

nothing calls this directly

Calls 7

InitBasicSceneFunction · 0.90
SaveModelMethod · 0.80
OpenModelMethod · 0.80
clearMethod · 0.65
CreateModelMethod · 0.45
CloseModelMethod · 0.45
LoadAllGeometryMethod · 0.45

Tested by

no test coverage detected