YKPN#64569 ShowRoom popupje kan nu ook in 3D via &showmode=3

svn path=/Website/trunk/; revision=57290
This commit is contained in:
Jos Groot Lipman
2022-09-15 07:35:20 +00:00
parent 1b5e22a966
commit fa5f745ba5

View File

@@ -10,6 +10,7 @@
vKey ALG_VERDIEPING.ALG_VERDIEPING_KEY vKey ALG_VERDIEPING.ALG_VERDIEPING_KEY
ins_key Een ins_deel. Ruimte wordt er bij gezocht ins_key Een ins_deel. Ruimte wordt er bij gezocht
res_ruimte_key Een reserveerbare ruimte. Ruimte(s) worden er bij gezocht res_ruimte_key Een reserveerbare ruimte. Ruimte(s) worden er bij gezocht
showmode 2=2D, 3=3D
Context: Context:
Note: Als rKey niet is gegeven moet vKey gedefieerd zijn Note: Als rKey niet is gegeven moet vKey gedefieerd zijn
anders wordt hij er wel bij gezocht. anders wordt hij er wel bij gezocht.
@@ -29,12 +30,15 @@ FCLTHeader.Requires({ js: ["jquery.js"] });
var caddwgy = getQParamFloat("caddwgy", null); // y co<63>rdinaat van een specifieke plek in de ruimte die gehighlight moet worden. var caddwgy = getQParamFloat("caddwgy", null); // y co<63>rdinaat van een specifieke plek in de ruimte die gehighlight moet worden.
var mld_key_dwgxy = getQParamInt("mld_key_dwgxy", -1); // Melding van de meegegeven co<63>rdinaten x en y. var mld_key_dwgxy = getQParamInt("mld_key_dwgxy", -1); // Melding van de meegegeven co<63>rdinaten x en y.
var showmode = getQParamInt("showmode", 2); // 2=only2d, 3=only3d TODO: toggle?
if (ins_key > 0) if (ins_key > 0)
{ {
oRs = Oracle.Execute("SELECT ins_discipline_key" + oRs = Oracle.Execute("SELECT ins_discipline_key" +
" FROM ins_deel" + " FROM ins_deel" +
" WHERE ins_deel_key = " + ins_key); " WHERE ins_deel_key = " + ins_key);
discArray.push(oRs("ins_discipline_key").Value); // zou dubbel kunnen zijn discArray.push(oRs("ins_discipline_key").Value); // zou dubbel kunnen zijn
oRs.Close();
} }
else else
{ {
@@ -70,6 +74,7 @@ FCLTHeader.Requires({ js: ["jquery.js"] });
Response.End; Response.End;
} }
vKey = oRs("alg_verdieping_key").Value; vKey = oRs("alg_verdieping_key").Value;
oRs.Close();
} }
else if (rrkey > 0) // reserveerbare ruimte else if (rrkey > 0) // reserveerbare ruimte
{ {
@@ -87,6 +92,7 @@ FCLTHeader.Requires({ js: ["jquery.js"] });
prKeys.push(oRs("alg_ruimte_key").Value); prKeys.push(oRs("alg_ruimte_key").Value);
oRs.MoveNext(); oRs.MoveNext();
} }
oRs.Close();
prKey = prKeys.join(","); prKey = prKeys.join(",");
} }
else // vkey verplicht else // vkey verplicht
@@ -99,13 +105,16 @@ FCLTHeader.Requires({ js: ["jquery.js"] });
" WHERE alg_verdieping_key = " + vKey); " WHERE alg_verdieping_key = " + vKey);
var titel = L("lcl_graphics") + " " + oRs("alg_locatie_code").Value + "-" var titel = L("lcl_graphics") + " " + oRs("alg_locatie_code").Value + "-"
+ oRs("alg_gebouw_upper").Value + "-" + oRs("alg_gebouw_upper").Value + "-"
+ oRs("alg_verdieping_omschrijving").Value + oRs("alg_verdieping_omschrijving").Value;
oRs.Close();
%> %>
<html> <html>
<head> <head>
<% FCLTHeader.Generate() %> <% FCLTHeader.Generate() %>
<script type="text/javascript"> <script>
var showmode = <%=showmode%>;
function resizeIframes() function resizeIframes()
{ {
var height = parseInt(document.documentElement.clientHeight); var height = parseInt(document.documentElement.clientHeight);
@@ -142,17 +151,42 @@ FCLTHeader.Requires({ js: ["jquery.js"] });
function init() function init()
{ {
MMap.Reset(); if (showmode == 2) // 2D
MMap.SetIMGGenerator("../CAD/mySlnk2IMG.asp"); {
MMap.SetCustomParameters(params) MMap.Reset();
MMap.SetLabelPosition(<%=S("fg_labelPosition")%>); MMap.SetIMGGenerator("../CAD/mySlnk2IMG.asp");
MMap.SetPaperColor(<%=S("fg_paperColor")%>); MMap.SetCustomParameters(params)
MMap.Refresh(true); // Try to zoom extents MMap.SetLabelPosition(<%=S("fg_labelPosition")%>);
MMap.SetPaperColor(<%=S("fg_paperColor")%>);
MMap.Refresh(true); // Try to zoom extents
}
else // 3D
{
MMap.SetCustomParameters(params);
// Eerst een keer het plaatje heel globaal renderen om dwg-info te achterhalen
$.getJSON("../CAD/mySlnk2IMG.asp?AsMap=1&vKey=<%=vKey%>", { }, function (pSLNKEvent)
{
MMap.gSLNKEvent = pSLNKEvent;
var zoomDWGX = (pSLNKEvent.DWGminX + pSLNKEvent.DWGmaxX) / 2;
var zoomDWGY = (pSLNKEvent.DWGminY + pSLNKEvent.DWGmaxY) / 2;
var zoomScale = Math.min(window.innerWidth / (pSLNKEvent.DWGmaxX - pSLNKEvent.DWGminX),
window.innerHeight / (pSLNKEvent.DWGmaxY - pSLNKEvent.DWGminY));
MMap.zoom2DWG(zoomDWGX, zoomDWGY, zoomScale * 2); // TODO waarom is hij zonder de '* 2' te klein?
MMap.Refresh(); // Try not to zoom extents
} );
}
} }
</script> </script>
<title><%=safe.html(titel)%></title> <title><%=safe.html(titel)%></title>
</head> </head>
<%
if (showmode == 2)
var mapper = "../SlnkDWF/ToonIMG.asp";
else
var mapper = "3dize.asp";
%>
<body class='modal' id='docBody' onLoad='javascript:init();'> <body class='modal' id='docBody' onLoad='javascript:init();'>
<!-- ========================== <!-- ==========================
HET plaatje HET plaatje
@@ -163,7 +197,7 @@ FCLTHeader.Requires({ js: ["jquery.js"] });
id="MinMaxBtn" id="MinMaxBtn"
title="<%=L("lcl_cad_maximize")%>" title="<%=L("lcl_cad_maximize")%>"
style="display:none"><%=I("fa-external-link fa-lg")%></span> style="display:none"><%=I("fa-external-link fa-lg")%></span>
<iframe id="MMap" name="MMap" src="../SlnkDWF/ToonIMG.asp" <iframe id="MMap" name="MMap" src="<%=mapper%>"
frameborder="0" framespacing="0" scrolling="no" frameborder="0" framespacing="0" scrolling="no"
style="width: 100%; height:100%"> style="width: 100%; height:100%">
</iframe> </iframe>