Example #1
0
    private string encodeBookmark(FpbBookmark bookmarkToEncode)
    {
        string jsonBookmarkString = JsonUtility.ToJson(bookmarkToEncode);

        byte[] data = System.Text.Encoding.UTF8.GetBytes(jsonBookmarkString);
        return(System.Convert.ToBase64String(data));
    }
Example #2
0
    private void loadBookmark(FpbBookmark bookmarkToLoad)
    {
        if (!bookmarkToLoad.isNullBookmark())
        {
            Camera.main.transform.position = bookmarkToLoad.cameraPosition;
            Camera.main.transform.rotation = bookmarkToLoad.cameraRotation;
            cubeObject.transform.rotation  = bookmarkToLoad.cubeRotation;

            GameObject parent = GameObject.Find(bookmarkToLoad.cuttingParent);
            cuttingPlaneObject.transform.SetParent(parent.transform);
            cuttingPlaneObject.transform.localPosition = bookmarkToLoad.cuttingPlanePosition;
            cuttingPlaneObject.transform.localRotation = bookmarkToLoad.cuttingPlaneRotation;

            opacity.value        = bookmarkToLoad.opacity;
            intensity.value      = bookmarkToLoad.intensity;
            threshold.value      = bookmarkToLoad.threshold;
            projectionType.value = bookmarkToLoad.projectionType;

            variables.sectionMode       = bookmarkToLoad.getSectionMode();
            variables.hidePanels        = bookmarkToLoad.getBindingBox();
            restoredAnnotationText.text = bookmarkToLoad.annotation;
        }
        else
        {
            restoredAnnotationText.text = "Bookmark " + bookmarkToLoad.getBrowserBookmarkNumber() + " was not found in this browser.";
        }
    }
Example #3
0
    private void restoreBookmarkFromBrowser(int bookmarkNumber)
    {
        // Read localStorage using javascript
        string uniqueName = variables.fpbJSON.uniqueName;

                #if UNITY_EDITOR
        if (EditorPrefs.HasKey("fpb-" + uniqueName + "-bookmark" + bookmarkNumber))
        {
            browserBookmark = decodeBookmark(EditorPrefs.GetString("fpb-" + uniqueName + "-bookmark" + bookmarkNumber));
        }
        else
        {
            browserBookmark = new FpbBookmark(bookmarkNumber);
        }
                #else
        string evalMe = "var bookmark64String = localStorage.getItem('fpb-" + uniqueName + "-bookmark" + bookmarkNumber + "');" +
                        "if (bookmark64String == null){" +
                        "bookmark64String = 'null" + bookmarkNumber + "';}" +
                        "fpcanvas.SendMessage('Cube', 'getBookmarkFromBrowser', bookmark64String);";
        Application.ExternalEval(evalMe);
                #endif

        loadBookmark(browserBookmark);
        variables.freezeAll = true;
        restoredAnnotationText.gameObject.SetActive(true);
        infoPanel.SetActive(true);
    }
Example #4
0
 public void getBookmarkFromURL(string urlBookmarkString64)
 {
     // Decode base-64 string
     if (urlBookmarkString64.Substring(0, 5) == "xPosE")
     {
         // Just load with defaults for now...
         urlBookmark = null;
         //urlBookmark = decodeLegacyBookmark (urlBookmarkString64);
     }
     else
     {
         urlBookmark = decodeBookmark(urlBookmarkString64);
     }
 }
Example #5
0
 public void getBookmarkFromBrowser(string browserBookmarkString64)
 {
     // Decode base-64 string
     if (browserBookmarkString64.Substring(0, 4) == "null")
     {
         browserBookmark = new FpbBookmark(int.Parse(browserBookmarkString64.Substring(4, 1)));
     }
     else
     {
                     #if UNITY_EDITOR
         print(browserBookmarkString64);
                     #else
         Application.ExternalEval("history.replaceState(null, null, '?b=" + browserBookmarkString64 + "');");
                     #endif
         browserBookmark = decodeBookmark(browserBookmarkString64);
     }
 }
Example #6
0
    private void addBookmarkToBrowser(int bookmarkNumber)
    {
        FpbBookmark bookmarkToSave = saveBookmark();
        string      string64ToSave = encodeBookmark(bookmarkToSave);

                #if UNITY_EDITOR
        EditorPrefs.SetString("fpb-" + variables.fpbJSON.uniqueName + "-bookmark" + bookmarkNumber, string64ToSave);
        print(string64ToSave);
                #else
        string evalMe = "localStorage.setItem('fpb-" + variables.fpbJSON.uniqueName + "-bookmark" + bookmarkNumber + "', '" + string64ToSave + "');";
        Application.ExternalEval(evalMe);
        evalMe = "history.replaceState(null, null, '?b=" + string64ToSave + "');";
        Application.ExternalEval(evalMe);
                #endif

        annotationBox.SetActive(false);
        annotationInputTitleText.text = "Saved bookmark " + bookmarkNumber.ToString() + " to the browser. Copy url to share!";
    }
Example #7
0
    private FpbBookmark saveBookmark()
    {
        FpbBookmark newBookmark = new FpbBookmark();

        newBookmark.cameraPosition = Camera.main.transform.position;
        newBookmark.cameraRotation = Camera.main.transform.rotation;
        newBookmark.cubeRotation   = cubeObject.transform.rotation;

        newBookmark.cuttingParent        = cuttingPlaneObject.transform.parent.name;
        newBookmark.cuttingPlanePosition = cuttingPlaneObject.transform.localPosition;
        newBookmark.cuttingPlaneRotation = cuttingPlaneObject.transform.localRotation;

        newBookmark.opacity        = opacity.value;
        newBookmark.intensity      = intensity.value;
        newBookmark.threshold      = threshold.value;
        newBookmark.projectionType = projectionType.value;

        newBookmark.setSectionMode(variables.sectionMode);
        newBookmark.setBindingBox(variables.hidePanels);

        newBookmark.annotation = annotationInputText.text;
        return(newBookmark);
    }
Example #8
0
 public void getBookmarkFromURL(string urlBookmarkString64)
 {
     // Decode base-64 string
     urlBookmark = decodeBookmark(urlBookmarkString64);
 }