virtual tour example

home gallery product info downloads buy now support learn more search

support

Trouble report 589

Automatic rotation of a QTVR image fails when the language is not English

Versions affected

4.0 - 4.2

Description

Automatic rotation of QTVR images does not work properly when The Panorama Factory is set to a language other than English.

Discussion

The problem exists when you set the language used by The Panorama Factory to one that uses "," as the decimal separator for numbers (e.g. -41,67). In English, the decimal separator is "." (e.g. -41.67).

The Panorama Factory implements automatic rotation through JavaScript statements included in the HTML file.  JavaScript always follows the English convention, even if the local language uses a different convention.

The Panorama Factory must display numbers to the user (e.g. on dialog boxes) with the correct decimal separator according to the local language setting. However, it should always use "." for JavaScript regardless of the local language.  Unfortunately, the QTVR export function doesn't change the decimal separator from "," to "." the way it should.

There are two possible workarounds for this problem

Workaround #1

The simplest workaround is to temporarily change The Panorama Factory to English before exporting the QTVR.  Then change it back to your local language after exporting the image.

Workaround #2

If you prefer not to change to English or if you have already saved the QTVR image and do not want to save it again, you must manually edit the HTML code written by The Panorama Factory.  You can edit the HTML file using an HTML editor (e.g. Microsoft Frontpage) or using any text editor (e.g. Notepad or Wordpad).

To correct the problem, you must change the HTML line containing "autopan=".  For example, if your panoramic image is named "yourimage.mov", the auotpan line would be something like this:

document.yourimage.autopan = window.setInterval('{var d = new Date(); document.yourimage.SetPanAngle (document.yourimage.GetPanAngle() + (d.getTime()-document.yourimage.autotime) / -41,67); document.yourimage.autotime=d.getTime()}', 25);

This line contains the number "-41,67" to set the speed of rotation expressed in milliseconds per degree. So to get a full rotation (360 degrees) in x seconds, you set the value to
    1000 * x / 360
For 15 seconds (i.e. 4 revolutions per minute):
    1000 * 15 / 360 = 41.67

The number in your HTML file may be different if you have set a different rotation speed.

Edit the line to change the "," in the decimal number to a "." as shown in the following line:

document.yourimage.autopan = window.setInterval('{var d = new Date(); document.yourimage.SetPanAngle (document.yourimage.GetPanAngle() + (d.getTime()-document.yourimage.autotime) / -41.67); document.yourimage.autotime=d.getTime()}', 25);

Status

Corrected in V4.3.


Revised: May 29, 2006

© 1999-2006 Smoky City Design, LLC and John Strait