1var W,L,H,Ha,Hb,Hc,Hd,svg,scalem,mx,my,ss={},startAngleX=.1*Math.PI,startAngleY=.1*Math.PI,mouseX=0;mouseY=0;var face_3d,line_3d,text_3d,rid="",rspeed=.2,rtime=50,transtime=2e3,transease=d3.easeBack,FData=[],LData=[],TData=[];function visualisation_init(){svg=d3.select("#fc_figure svg").call(d3.drag().on("drag",dragged).on("start",dragStart).on("end",dragEnd)).append("g"),face_3d=d3._3d().shape("PLANE").x(function(a){return a[0]}).y(function(a){return a[1]}).z(function(a){return a[2]}).rotateY(-startAngleY).rotateX(-startAngleX),line_3d=d3._3d().shape("LINE").x(function(a){return a[0]}).y(function(a){return a[1]}).z(function(a){return a[2]}).rotateY(-startAngleY).rotateX(-startAngleX),text_3d=d3._3d().shape("POINT").x(function(a){return a[0]}).y(function(a){return a[1]}).z(function(a){return a[2]}).rotateY(-startAngleY).rotateX(-startAngleX),d3.selectAll("#fc_figure svg").on("dblclick",function(){rid?stop_rotate():start_rotate()})}function visualisation_start(a,e){W=100*a.src.shirina,L=100*a.src.dlina,H=100*a.src.tolshina,Ha=100*a.A,Hb=100*a.B,Hc=100*a.C,Hd=100*a.D;var t=(svg=d3.select("#fc_figure svg")).node().getAttribute("viewBox").split(" ");scale=new Object,scale.w=svg.node().clientWidth,scale.h=svg.node().clientHeight,scale.bw=parseInt(t[2]),scale.bh=parseInt(t[3]),scale.val=.7*scale.bw/Math.max(W,L),scale.lh=50/scale.val,ss.aspace=.15*scale.lh,ss.asize=.5*scale.lh,ss.amid=.7*scale.lh,ss.aup=.8*scale.lh,ss.adown=.6*scale.lh,ss.th=1.2*scale.lh,ss.th2=.9*scale.lh,stop_rotate(),PlotData=CalcPlotData(),processData(PlotData,e),setTimeout(start_rotate,e)}function add_face(a,e){var t=Object.assign(a);t.classname=e,t.id="face"+FData.length,FData.push(t)}function add_line(a,e){var t=Object.assign(a);t.classname=e,t.id="line"+LData.length,LData.push(t)}function add_text(a,e,t,s){var r=Object.assign(a);r.text=e,r.val=t,r.classname=s,r.id="text"+TData.length,TData.push(r)}function CalcPlotData(){return FData=[],add_face([[-W/2,Ha,-L/2],[W/2,Hb,-L/2],[W/2,Hc,L/2],[-W/2,Hd,L/2]],"fill-base"),add_face([[-W/2,0,-L/2],[W/2,0,-L/2],[W/2,0,L/2],[-W/2,0,L/2]],"fill-floor"),add_face([[-W/2,Ha,-L/2],[-W/2,0,-L/2],[W/2,0,-L/2],[W/2,Hb,-L/2]],"fill-side"),add_face([[W/2,Hb,-L/2],[W/2,0,-L/2],[W/2,0,L/2],[W/2,Hc,L/2]],"fill-side"),add_face([[W/2,Hc,L/2],[W/2,0,L/2],[-W/2,0,L/2],[-W/2,Hd,L/2]],"fill-side"),add_face([[-W/2,Hd,L/2],[-W/2,0,L/2],[-W/2,0,-L/2],[-W/2,Ha,-L/2]],"fill-side"),LData=[],add_line([[-W/2,Ha,-L/2],[-W/2,-scale.lh,-L/2]],"line-corner"),add_line([[W/2,Hb,-L/2],[W/2,-scale.lh,-L/2]],"line-corner"),add_line([[W/2,Hc,L/2],[W/2,0,L/2]],"line-corner"),add_line([[-W/2,Hd,L/2],[-W/2,-scale.lh,L/2]],"line-corner"),add_line([[-W/2+ss.aspace,-ss.amid,-L/2],[W/2-ss.aspace,-ss.amid,-L/2]],"line-arrow"),add_line([[-W/2+ss.aspace,-ss.amid,-L/2],[-W/2+ss.asize,-ss.adown,-L/2]],"line-arrow"),add_line([[-W/2+ss.aspace,-ss.amid,-L/2],[-W/2+ss.asize,-ss.aup,-L/2]],"line-arrow"),add_line([[W/2-ss.asize,-ss.adown,-L/2],[W/2-ss.aspace,-ss.amid,-L/2]],"line-arrow"),add_line([[W/2-ss.asize,-ss.aup,-L/2],[W/2-ss.aspace,-ss.amid,-L/2]],"line-arrow"),add_line([[-W/2,-ss.amid,-L/2+ss.aspace],[-W/2,-ss.amid,L/2-ss.aspace]],"line-arrow"),add_line([[-W/2,-ss.amid,-L/2+ss.aspace],[-W/2,-ss.aup,-L/2+ss.asize]],"line-arrow"),add_line([[-W/2,-ss.amid,-L/2+ss.aspace],[-W/2,-ss.adown,-L/2+ss.asize]],"line-arrow"),add_line([[-W/2,-ss.aup,L/2-ss.asize],[-W/2,-ss.amid,L/2-ss.aspace]],"line-arrow"),add_line([[-W/2,-ss.adown,L/2-ss.asize],[-W/2,-ss.amid,L/2-ss.aspace]],"line-arrow"),TData=[],add_text([-W/2,-ss.th,-L/2],"A",Ha,"text-corners"),add_text([W/2,-ss.th,-L/2],"B",Hb,"text-corners"),add_text([W/2,-.5*ss.th,L/2],"C",Hc,"text-corners"),add_text([-W/2,-ss.th,L/2],"D",Hd,"text-corners"),add_text([0,-ss.th2,-L/2],"W",W,"text-dimensions"),add_text([-W/2,-ss.th2,0],"L",L,"text-dimensions"),[face_3d.origin([scale.bw/2,scale.bh/2]).scale(scale.val)(FData),line_3d.origin([scale.bw/2,scale.bh/2]).scale(scale.val)(LData),text_3d.origin([scale.bw/2,scale.bh/2]).scale(scale.val)(TData)]}function processData(a,e){var t=svg.selectAll(".face").data(a[0],key);t.enter().append("path").attr("class",function(a){return a.classname}).classed("face",!0).classed("_3d",!0).merge(t).transition().ease(transease).duration(e).attr("d",face_3d.draw),t.exit().remove();var s=svg.selectAll(".line").data(a[1],key);s.enter().append("line").attr("class",function(a){return a.classname}).classed("line",!0).classed("_3d",!0).attr("x1",function(a){return a[0].projected.x}).attr("y1",function(a){return a[0].projected.y}).attr("x2",function(a){return a[1].projected.x}).attr("y2",function(a){return a[1].projected.y}).merge(s).transition().ease(transease).duration(e).attr("x1",function(a){return a[0].projected.x}).attr("y1",function(a){return a[0].projected.y}).attr("x2",function(a){return a[1].projected.x}).attr("y2",function(a){return a[1].projected.y}),s.exit().remove();var r=svg.selectAll(".text").data(a[2],key);r.enter().append("text").attr("class",function(a){return a.classname}).classed("text",!0).classed("_3d",!0).attr("x",function(a){return a.projected.x}).attr("y",function(a){return a.projected.y}).text(function(a){return a.text+": "+a.val}).merge(r).transition().ease(transease).duration(e).attr("x",function(a){return a.projected.x}).attr("y",function(a){return a.projected.y}).tween("text",function(a){var e=d3.select(this),t=d3.interpolateNumber(e.text().replace(/[^\d]/g,""),Math.abs(a.val));return function(s){e.text(a.text+": "+t(s).toFixed(0))}}),r.exit().remove(),d3.selectAll("._3d").sort(d3._3d().sort)}key=function(a){return a.id};var is_dragged=0,is_rotaded=0,delay_rotate=0;function dragStart(){is_dragged=1,mx=d3.event.x,my=d3.event.y}function dragged(){beta=(d3.event.x-mx+mouseX)*Math.PI/230*rspeed,alpha=(d3.event.y-my+mouseY)*Math.PI/230*-1*rspeed,processData([face_3d.rotateY(beta-startAngleY).rotateX(alpha-startAngleX).origin([scale.bw/2,scale.bh/2]).scale(scale.val)(FData),line_3d.rotateY(beta-startAngleY).rotateX(alpha-startAngleX).origin([scale.bw/2,scale.bh/2]).scale(scale.val)(LData),text_3d.rotateY(beta-startAngleY).rotateX(alpha-startAngleX).origin([scale.bw/2,scale.bh/2]).scale(scale.val)(TData)],0)}function dragEnd(){mouseX=d3.event.x-mx+mouseX,mouseY=d3.event.y-my+mouseY,is_dragged=0}function start_rotate(){rid=setInterval(autorotate,rtime)}
1function stop_rotate(){rid&&clearInterval(rid),rid=""}function autorotate(){delay_rotate||(is_dragged||is_rotaded++||(mouseX-=.5,beta=mouseX*Math.PI/230*rspeed,alpha=mouseY*Math.PI/230*-1*rspeed,processData([face_3d.rotateY(beta-startAngleY).rotateX(alpha-startAngleX).origin([scale.bw/2,scale.bh/2]).scale(scale.val)(FData),line_3d.rotateY(beta-startAngleY).rotateX(alpha-startAngleX).origin([scale.bw/2,scale.bh/2]).scale(scale.val)(LData),text_3d.rotateY(beta-startAngleY).rotateX(alpha-startAngleX).origin([scale.bw/2,scale.bh/2]).scale(scale.val)(TData)],0),is_rotaded--))}window.onblur=function(){delay_rotate=1},window.onfocus=function(){delay_rotate=0};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.