Features

Download

Online

Gallery

Blog

  Index  | Recent Threads  | List Attachments  | Help  | Search
 Welcome Guest  |  Register  |  Login
Login Name  Password
 

Sweet Home 3D Forum



No member browsing this thread
Thread Status: Active
Total posts in this thread: 80
Posts: 80   Pages: 8   [ Previous Page | 1 2 3 4 5 6 7 8 ]
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 148671 times and has 79 replies Next Thread
AlexHattingh
Newbie



South Africa
Joined: Feb 20, 2019
Post Count: 1
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

Good day community, Emmanuel did try help me, and I fiddled a little, but I really don't understand what he's telling me to do.

I would like my render to appear at 100% of width no matter the device. And where would I specify max height of the render?

Here is the code as rendered by the HMTL5 Plugin.

Is there any way you can add the bits needed and make them bold/different colour so that I can see how this is supposed to be done?

Regards
Alex

<!--
viewHome.html version 1.2

Sweet Home 3D, Copyright (c) 2016 Emmanuel PUYBARET / eTeks <info@eteks.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>View home with Sweet Home 3D HTML5 Viewer</title>

<!-- Copy the following scripts in your page header -->
<script type="text/javascript" src="lib/big.min.js"></script>
<script type="text/javascript" src="lib/gl-matrix-min.js"></script>
<script type="text/javascript" src="lib/jszip.min.js"></script>
<script type="text/javascript" src="lib/core.min.js"></script>
<script type="text/javascript" src="lib/geom.min.js"></script>
<script type="text/javascript" src="lib/triangulator.min.js"></script>
<script type="text/javascript" src="lib/viewmodel.min.js"></script>
<script type="text/javascript" src="lib/viewhome.min.js"></script>

<style type="text/css">
/* The class of components handled by the viewer */
.viewerComponent {
}
</style>
</head>

<body>
<div>
<!-- Copy the following canvas and components in your page, changing their size / texts and other values if needed -->
<canvas id="viewerCanvas" class="viewerComponent" width="800" height="600"
style="background-color: #CCCCCC; border: 1px solid gray; outline:none" tabIndex="1"></canvas>
<div id="viewerProgressDiv" style="width: 400px; position: relative; top: -350px; left: 200px; background-color: rgba(128, 128, 128, 0.7); padding: 20px; border-radius: 25px">
<progress id="viewerProgress" class="viewerComponent" value="0" max="200" style="width: 400px"></progress>
<label id="viewerProgressLabel" class="viewerComponent" style="margin-top: 2px; display: block; margin-left: 10px"></label>
</div>
<div style="margin-top: -60px">
<input id="aerialView" class="viewerComponent" name="cameraType" type="radio" style="visibility: hidden;"/>
<label class="viewerComponent" for="aerialView" style="visibility: hidden;">Aerial view</label>
<input id="virtualVisit" class="viewerComponent" name="cameraType" type="radio" style="visibility: hidden;"/>
<label class="viewerComponent" for="virtualVisit" style="visibility: hidden;">Virtual visit</label>
<select id="levelsAndCameras" class="viewerComponent" style="visibility: hidden;"></select>
</div>
</div>
<div style="position: absolute; bottom: 5px; text-align: center; width: 95%; z-index: -1">
<a href="http://www.sweethome3d.com">Sweet Home 3D</a> HTML5 Viewer / Version 1.2 - Distributed under GNU General Public License
</div>

<!-- Copy the following script to view your home in the previous canvas -->
<script type="text/javascript">
var homeUrl = "One%20Person.zip";
var onerror = function(err) {
if (err == "No WebGL") {
alert("Sorry, your browser doesn't support WebGL.");
} else {
console.log(err.stack);
alert("Error: " + (err.message ? err.constructor.name + " " + err.message : err));
}
};
var onprogression = function(part, info, percentage) {
var progress = document.getElementById("viewerProgress");
if (part === HomeRecorder.READING_HOME) {
// Home loading is finished
progress.value = percentage * 100;
info = info.substring(info.lastIndexOf('/') + 1);
} else if (part === Node3D.READING_MODEL) {
// Models loading is finished
progress.value = 100 + percentage * 100;
if (percentage === 1) {
document.getElementById("viewerProgressDiv").style.visibility = "hidden";
}
}

document.getElementById("viewerProgressLabel").innerHTML =
(percentage ? Math.floor(percentage * 100) + "% " : "") + part + " " + info;
};

// Display home in canvas 3D
// Mouse and keyboard navigation explained at
// http://sweethome3d.cvs.sf.net/viewvc/sweethom...elp/en/editing3DView.html
// You may also switch between aerial view and virtual visit with the space bar
// For browser compatibility, see http://caniuse.com/webgl
viewHome("viewerCanvas", // Id of the canvas
homeUrl, // URL or relative URL of the home to display
onerror, // Callback called in case of error
onprogression, // Callback called while loading
{roundsPerMinute: 0, // Rotation speed of the animation launched once home is loaded in rounds per minute, no animation if missing or equal to 0
navigationPanel: "none", // Displayed navigation arrows, "none" or "default" for default one or an HTML string containing elements with data-simulated-key
// attribute set "UP", "DOWN", "LEFT", "RIGHT"... to replace the default navigation panel, "none" if missing
aerialViewButtonId: "aerialView", // Id of the aerial view radio button, radio buttons hidden if missing
virtualVisitButtonId: "virtualVisit", // Id of the aerial view radio button, radio buttons hidden if missing
levelsAndCamerasListId: "levelsAndCameras" // Id of the levels select component, hidden if missing
/*, selectableLevels: ["Level 0", "Level 1"] */ // List of displayed levels, all viewable levels if missing
});
</script>

</body>
</html>
[Feb 20, 2019 1:48:40 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
thelongpants
Newbie




Joined: Jul 14, 2011
Post Count: 1
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

Hi Emmanuel, community,

First: A big thanks to Emmanual for this splendid piece of software! I'm really happy about this opportunity to (easily and free) visualize my thoughts on a home makover.. :-)

My question is: Can anyone help me, or is there any manual to access the js? I'm trying to use/access the 'viewHome' within Chrome console, to play around with camera's and layers (and use this to have some preset buttons, in future).
I'm a little capable of understanding javascript, when I use:
console.log(homeUrl); --> I see the name of my home (as set earlier in the HTML generated)

But how can I access 'viewHome' to have the 'getHome()' returned (by HomePreviewComponent, of course...)

Any example available?

Thanks!
[May 13, 2019 8:16:50 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6762
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

The JavaScript code of the viewer releases available in the https://sourceforge.net/projects/sweethome3d/files/SweetHome3D-viewer/ folder is minified, so hardly readable and modifiable.
The readable source code is available in the sibling folder https://sourceforge.net/projects/sweethome3d/files/SweetHome3DJS-source/
If you want to modify it, be sure to read the README.TXT file included in the source code to install the required tools. The default Ant target of the project will generate a new version with updated minified code.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[May 14, 2019 9:30:32 AM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
survivalshelters
Newbie
Member's Avatar

United States
Joined: Aug 31, 2019
Post Count: 1
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

Would you mind making a video tutorial on this? I have the HTML5 plug-in and I am able to get the zipped folder onto my desktop. But I really don't know what to do with it from there. Thank you!

- Andrew
[Sep 9, 2019 4:28:34 AM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6762
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

Thanks for the suggestion, but I’m not sure what the video should speak about or if it wouldn’t be too long and boring, because it should explain how to view the export locally with options for various browsers (which regularly change security options), and it depends where you want to host it online.
If you don’t know what to do with the result of this plugin, maybe you should rather test the Exported homes manager which provides the same thing with you file available on sweethome3d.com at the end.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[Sep 9, 2019 11:50:12 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
Gildaniel
Member




Joined: Aug 11, 2017
Post Count: 36
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

Hello!

When I use exportHomes feature 3d model opens on whole browser window.

But in examples I've seen canvas always has fixed size.

I'm not so good in Java and html programming, could you please explain me how to change my code to have full screen view, or just give an example of full window canvas?

***************************************************
<body>
<script type="text/javascript" src="/3dplan/newlib/big.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/gl-matrix-min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/jszip.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/core.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/geom.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/batik-svgpathparser.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/jsXmlSaxParser.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/triangulator.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/viewmodel.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/viewhome.min.js"></script>
<style type="text/css">
/* The class of components handled by the viewer */
.viewerComponent {
}
</style>


<H1 style="text-align: center; text-decoration:underline; cursor: pointer"
onclick='viewHomeInOverlay("house.sh3d",
{roundsPerMinute: 1,
widthByHeightRatio: 4/3,
navigationPanel: "none",
aerialViewButtonText: "Aerial view",
virtualVisitButtonText: "Virtual tour",
level: "1 floor",
selectableLevels: ["1 floor", "2 floor", "Roof"],
activateCameraSwitchKey: true,
viewerControlsAdditionalHTML: "",
readingHomeText: "Loading",
readingModelText: "Building",
noWebGLSupportError: "No WebGL support"
})'
>PRESS HERE TO OPEN 3D-MODEL</H1>
</body>

***************************************************
[Oct 17, 2019 1:56:09 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6762
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

There's no parameter to tell the size of the opened canvas in the viewHomeInOverlay version. Its size is 90% of the available space.
You could change the source code of viewHomeInOverlay but generate updated .js code might be complicate for you.
Another solution could be to copy paste viewHomeInOverlay in your page, rename it and change the following part of the code:
var canvas = document.getElementById("viewerCanvas");
if (windowWidth < windowHeight * widthByHeightRatio) {
canvas.width = 0.9 * windowWidth;
canvas.height = 0.9 * windowWidth / widthByHeightRatio;
} else {
canvas.height = 0.9 * windowHeight;
canvas.width = 0.9 * windowHeight * widthByHeightRatio;
}
to:
var canvas = document.getElementById("viewerCanvas");
canvas.width = pageWidth;
canvas.height = pageHeight;

There are probably other parameters to adjust to take into account scroll bars.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[Oct 18, 2019 5:35:17 PM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
Gildaniel
Member




Joined: Aug 11, 2017
Post Count: 36
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

Hello, Emmanuel!

I tried to copy-paste viewHomeInOverlay function and rename it, but it doesn't work, no window open at all. May be there is some error in tags I made?
The test page is here - http://regard-house.ru/3dplan/test/test1.html

Text of html:
***************************************************
<body>
<script type="text/javascript" src="/3dplan/newlib/big.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/gl-matrix-min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/jszip.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/core.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/geom.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/batik-svgpathparser.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/jsXmlSaxParser.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/triangulator.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/viewmodel.min.js"></script>
<script type="text/javascript" src="/3dplan/newlib/viewhome.min.js"></script>


<script type="text/javascript">
function viewHomeInOverlay1(homeUrl, params) {
var widthByHeightRatio = 4 / 3;
if (params && params.widthByHeightRatio) {
widthByHeightRatio = params.widthByHeightRatio;
}

// Ensure no two overlays are displayed
hideHomeOverlay();

var overlayDiv = document.createElement("div");
overlayDiv.setAttribute("id", "viewerOverlay");
overlayDiv.style.position = "absolute";
overlayDiv.style.left = "0";
overlayDiv.style.top = "0";
overlayDiv.style.zIndex = "100";
overlayDiv.style.background = "rgba(127, 127, 127, .5)";

var bodyElement = document.getElementsByTagName("body").item(0);
bodyElement.insertBefore(overlayDiv, bodyElement.firstChild);

var homeViewDiv = document.createElement("div");
var divHTML =
'<canvas id="viewerCanvas" class="viewerComponent" style="background-color: #CCCCCC; border: 1px solid gray; position: absolute; outline: none; touch-action: none" tabIndex="1"></canvas>'
+ '<div id="viewerProgressDiv" style="position:absolute; width: 300px; background-color: rgba(128, 128, 128, 0.7); padding: 20px; border-radius: 25px">'
+ ' <progress id="viewerProgress" class="viewerComponent" value="0" max="200" style="width: 300px;"></progress>'
+ ' <label id="viewerProgressLabel" class="viewerComponent" style="margin-top: 2px; margin-left: 10px; margin-right: 0px; display: block;"></label>'
+ '</div>';
if (params
&& (params.aerialViewButtonText && params.virtualVisitButtonText
|| params.viewerControlsAdditionalHTML)) {
divHTML += '<div id="viewerControls" style="position: absolute; padding: 10px; padding-top: 5px">';
if (params.aerialViewButtonText && params.virtualVisitButtonText) {
divHTML +=
' <input id="aerialView" class="viewerComponent" name="cameraType" type="radio" style="visibility: hidden;"/>'
+ ' <label class="viewerComponent" for="aerialView" style="visibility: hidden;">' + params.aerialViewButtonText + '</label>'
+ ' <input id="virtualVisit" class="viewerComponent" name="cameraType" type="radio" style="visibility: hidden;">'
+ ' <label class="viewerComponent" for="virtualVisit" style="visibility: hidden;">' + params.virtualVisitButtonText + '</label>'
+ ' <select id="levelsAndCameras" class="viewerComponent" style="visibility: hidden;"></select>';
}
if (params.viewerControlsAdditionalHTML) {
divHTML += params.viewerControlsAdditionalHTML;
}
divHTML += '</div>';
}
homeViewDiv.innerHTML = divHTML;
overlayDiv.appendChild(homeViewDiv);

// Create close button image
var closeButtonImage = new Image();
closeButtonImage.src = ZIPTools.getScriptFolder("jszip.min.js") + "/close.png";
closeButtonImage.style.position = "absolute";
overlayDiv.appendChild(closeButtonImage);

overlayDiv.escKeyListener = function(ev) {
if (ev.keyCode === 27) {
hideHomeOverlay();
}
};
window.addEventListener("keydown", overlayDiv.escKeyListener);
closeButtonImage.addEventListener("click", hideHomeOverlay);
var mouseActionsListener = {
mousePressed : function(ev) {
mouseActionsListener.mousePressedInOverlay = true;
},
mouseClicked : function(ev) {
if (mouseActionsListener.mousePressedInOverlay) {
delete mouseActionsListener.mousePressedInOverlay;
hideHomeOverlay();
}
}
};
overlayDiv.addEventListener("mousedown", mouseActionsListener.mousePressed);
overlayDiv.addEventListener("click", mouseActionsListener.mouseClicked);
overlayDiv.addEventListener("touchmove",
function(ev) {
ev.preventDefault();
});

// Place canvas in the middle of the window
var windowWidth = self.innerWidth;
var windowHeight = self.innerHeight;
var pageWidth = document.documentElement.clientWidth;
var pageHeight = document.documentElement.clientHeight;
if (bodyElement && bodyElement.scrollWidth) {
if (bodyElement.scrollWidth > pageWidth) {
pageWidth = bodyElement.scrollWidth;
}
if (bodyElement.scrollHeight > pageHeight) {
pageHeight = bodyElement.scrollHeight;
}
}
var pageXOffset = self.pageXOffset ? self.pageXOffset : 0;
var pageYOffset = self.pageYOffset ? self.pageYOffset : 0;

overlayDiv.style.height = Math.max(pageHeight, windowHeight) + "px";
overlayDiv.style.width = pageWidth <= windowWidth
? "100%"
: pageWidth + "px";
overlayDiv.style.display = "block";

var canvas = document.getElementById("viewerCanvas");
canvas.width = pageWidth;
canvas.height = pageHeight;

canvas.style.width = canvas.width + "px";
canvas.style.height = canvas.height + "px";
var canvasLeft = pageXOffset + (windowWidth - canvas.width - 10) / 2;
canvas.style.left = canvasLeft + "px";
var canvasTop = pageYOffset + (windowHeight - canvas.height - 10) / 2;
canvas.style.top = canvasTop + "px";

// Place close button at top right of the canvas
closeButtonImage.style.left = (canvasLeft + canvas.width - 5) + "px";
closeButtonImage.style.top = (canvasTop - 10) + "px";

// Place controls below the canvas
var controlsDiv = document.getElementById("viewerControls");
if (controlsDiv) {
controlsDiv.style.left = (canvasLeft - 10) + "px";
controlsDiv.style.top = (canvasTop + canvas.height) + "px";
controlsDiv.addEventListener("mousedown",
function(ev) {
// Ignore in overlay mouse clicks on controls
ev.stopPropagation();
});
}

// Place progress in the middle of the canvas
var progressDiv = document.getElementById("viewerProgressDiv");
progressDiv.style.left = (canvasLeft + (canvas.width - 300) / 2) + "px";
progressDiv.style.top = (canvasTop + (canvas.height - 50) / 2) + "px";
progressDiv.style.visibility = "visible";

var onerror = function(err) {
hideHomeOverlay();
if (err == "No WebGL") {
var errorMessage = "Sorry, your browser doesn't support WebGL.";
if (params.noWebGLSupportError) {
errorMessage = params.noWebGLSupportError;
}
alert(errorMessage);
} else if (typeof err === "string" && err.indexOf("No Home.xml entry") == 0) {
var errorMessage = "Ensure your home file was saved with Sweet Home 3D 5.3 or a newer version.";
if (params.missingHomeXmlEntryError) {
errorMessage = params.missingHomeXmlEntryError;
}
alert(errorMessage);
} else {
console.log(err.stack);
alert("Error: " + (err.message ? err.constructor.name + " " + err.message : err));
}
};
var onprogression = function(part, info, percentage) {
var progress = document.getElementById("viewerProgress");
if (progress) {
var text = null;
if (part === HomeRecorder.READING_HOME) {
progress.value = percentage * 100;
info = info.substring(info.lastIndexOf('/') + 1);
text = params && params.readingHomeText
? params.readingHomeText : part;
} else if (part === ModelLoader.READING_MODEL) {
progress.value = 100 + percentage * 100;
if (percentage === 1) {
document.getElementById("viewerProgressDiv").style.visibility = "hidden";
}
text = params && params.readingModelText
? params.readingModelText : part;
}

if (text !== null) {
document.getElementById("viewerProgressLabel").innerHTML =
(percentage ? Math.floor(percentage * 100) + "% " : "") + text + " " + info;
}
}
};

</script>


<style type="text/css">
/* The class of components handled by the viewer */
.viewerComponent {
}
</style>


<H1 style="text-align: center; text-decoration:underline; cursor: pointer"
onclick='viewHomeInOverlay1("house.sh3d",
{roundsPerMinute: 1,
widthByHeightRatio: 4/3,
navigationPanel: "none",
aerialViewButtonText: "Aerial view",
virtualVisitButtonText: "Virtual tour",
level: "1 floor",
selectableLevels: ["1 floor", "2 floor", "Roof"],
activateCameraSwitchKey: true,
viewerControlsAdditionalHTML: "",
readingHomeText: "Loading",
readingModelText: "Building",
noWebGLSupportError: "No WebGL support"
})'
>PRESS HERE TO OPEN 3D-MODEL FULL SCREEN (viewHomeInOverlay1)</H1>
<br>
<br>
<H1 style="text-align: center; text-decoration:underline; cursor: pointer"
onclick='viewHomeInOverlay("house.sh3d",
{roundsPerMinute: 1,
widthByHeightRatio: 4/3,
navigationPanel: "none",
aerialViewButtonText: "Aerial view",
virtualVisitButtonText: "Virtual tour",
level: "1 floor",
selectableLevels: ["1 floor", "2 floor", "Roof"],
activateCameraSwitchKey: true,
viewerControlsAdditionalHTML: "",
readingHomeText: "Loading",
readingModelText: "Building",
noWebGLSupportError: "No WebGL support"
})'
>PRESS HERE TO OPEN 3D-MODEL NORMAL MODE (viewHomeInOverlay)</H1>
</body>

***************************************************
[Oct 31, 2019 9:35:33 AM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 6762
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

I quickly tried your script and the JavaScript console reported various errors like an unexpected end of script and a "Can't find variable: viewHomeInOverlay1" error.
I think you should learn how to debug JavaScript code, it's really worth it and it's not so difficult if you're able to program.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D developer
[Oct 31, 2019 11:05:19 AM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
Gildaniel
Member




Joined: Aug 11, 2017
Post Count: 36
Status: Offline
Reply to this Post  Reply with Quote 
Re: Export to HTML5 plug-in

I quickly tried your script and the JavaScript console reported various errors like an unexpected end of script and a "Can't find variable: viewHomeInOverlay1" error.
I think you should learn how to debug JavaScript code, it's really worth it and it's not so difficult if you're able to program.


Emmanuel, good morning!

Script viewHomeInOverlay1 works after I copypaste in my html full text from viewhome.js. Now it is very comfortable to handle 3d, but all navigation (aerial/virtual, levels) is missing on the page. I'm afraid it would be too complicated for me to learn javascript to correct it.

Can I ask you to add in some new version of html viewer the new mode, opening 3d in a new tab to whole browser window? It would be very usefull both for smartphones and desktop viewing.

Problems with smartphones now:
- too small window of 3d viewer, especially in vertical mode;
- if you ocasionally tap somewhere outside overlay window boundaries - it closes viewer.

Problems with desktops:
- using mouse wheel without Shift button in some browsers scrolls the html page instead of zooming 3d (in aerial mode) or moving through (in virtual visit mode)
- also occasion tapping outside closes overlay.

Yours, Daniel
[Nov 1, 2019 8:03:00 AM] Show Printable Version of Post    View Member Profile    Send Private Message    Hidden to Guest [Link] Report threatening or abusive post: please login first  Go to top 
Posts: 80   Pages: 8   [ Previous Page | 1 2 3 4 5 6 7 8 ]
[ Jump to Last Post ]
Show Printable Version of Thread  Post new Thread

    Get Sweet Home 3D at SourceForge.net. Fast, secure and Free Open Source software downloads
   
© Copyright 2006-2019 eTeks - All rights reserved