Giter Club home page Giter Club logo

spectacles.webviewer's People

Contributors

anagpuyol avatar bhowes-tt avatar femik avatar howesben avatar joshwentz avatar mattmas avatar theo-armour avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spectacles.webviewer's Issues

Replace dat.gui with Bootstrap

dat.gui is a bummer on a tablet or a phone. It has it's advantages, but the time has probably come to move on :[

I'm just starting to mess with bootstrap on some other projects, and it feels pretty awesome...

On a separate branch, attempt to replace dat.gui with bootstrap, including the sliders. Also try to clean up some of the additional divs we need - loading, attributes, file open, etc

Suggestion for Init viewer

I think it is more handy if the init function returns the viewer itself instead of making a public variable as it does right now. Also it should take the id for div as an input so the user can generate a couple of views and name them as needed. Something like this.

    function initiate3DViewer(viewerId, jsonFileAddress){

        //load JSON file
       $.getJSON(jsonFileAddress, function( data ){

            //Initialize a VA3C viewer
            var viewer = new VA3C_CONSTRUCTOR($("#" + viewerId), data, function(app){
                //call the UI / functionality modules
                app.setBackgroundColor(0xFFFFFF);
            });

            return viewer;
        });
    }


    // initiate the viewer
    var viewer = initiate3DViewer("viewer", "https://dl.dropboxusercontent.com/u/16228160/D3TestData/3d/test01.json");

    var viewer2 = initiate3DViewer("viewer2", "https://dl.dropboxusercontent.com/u/16228160/D3TestData/3d/test02.json");

Minor UI suggestion

Creating a 'NEW' Spectacles Project feels exactly right....but also adding 'NEW' Project States is (very slightly) confusing. I'd like to create 'NEW' Projects and 'ADD' new Project States.

syracuse add project

SPECTACLES.loadNewModel should have a zoom extents option

In some cases, you don't want to zoom extents when loading a new model into the scene. The Design Explorer is a good example - if you are navigating through a design space, the view should not be reset each time a new design state is loaded.

Either expose a bool input on this function, or remove the zoom extents call from the SPECTACLES.jsonLoader, and make everyone call it when they want to. Upon writing, I like the second option better.

Any opinions out there?

remove jqueryUI?

I'm doing a project using a custom interface (messing around with bootstrap for the first time) and am running into conflicts with jqueryUI.

We only use this to drag around the attributes window - i'm thinking it's fine to get rid of that. any objections?

Can't remove the View controller

I am trying to remove a controller like this:

var controller =folder.__controllers[i];
folder.remove(controller);

It disappears from the screen, but the controller is not removed from the VA3C object. When another model that has views is loaded, it creates an extra controller. In the control panel, everything looks fine, but it seems like I need to find a different method to destroy the controller. People have discussed it here, but I can't find a good solution:

http://stackoverflow.com/questions/16321031/how-to-delete-dat-gui-element/21221627#21221627

New function: Add .obj/.mtl to a loaded scene

Add a new function that loads an .obj/.mtl pair into the running scene. Add the loaded object (I think it's actually a three.Group containing geometries) to a new layer called 'Obj Models' so they can be toggled on/off using the layers UI.

Search metadata and filter scene objects

Autodesk has developed view and Data API that allows to view 3d-2d models in WebGL enabled browsers. it has very useful features such as annotation extensions or search feature. when u search a keyword it highligts the objects includes it in metadata and isolate the others. Very impressive

image

Revit Camera Orientation/Rotation

When using the webviewer with a view exported from a Revit Camera in the non-stereo (one image on screen) mode there are two issues:

  1. Orientation of the view is set to look straight down by default (elevation of the camera view is correct)
  2. Rotation stays at the project center and rotates about that center, for camera views, rotation should be fixed to the camera location and pivot at that point, rather than rotate around it.

Complete shadows interface

The shadows implementation isn't all the way there yet:

  • The graphics are still a bit choppy.
    image
  • Provide UI (sliders) to adjust azimuth and altitude --- simulate shadows from the sun.

Jagged shadows

Hello, first of all, thanks for your great work.
I think that using SPECT.renderer.shadowMapType = THREE.PCFSoftShadowMap; improves shadow rendering.
Also, a bigger shadowmap will improve the results.
I think that both options won't compromise performance. (I've tried up to 4096x4096 in rst_basic_sample_project without much degradation in the FPS. 8192x8192 halved FPS.). You may add this as a shadow quality level option when activating shadows.

Spectacle exporter is not working

I recently started downloaded and installed Spectacles.
But when I try to use the exporter it gives me an error, see attachment.
I am working with Revit 2018.
Can someone help me out?
I tries multiple options but the same error comes up every time.

image

Load several json files

@bhowes-tt, I got the Edmonton project and managed to export the structure. However, the skin and the bowl are linked files in Revit. I have discussed two options with @nmundell-tt:

-A) Merge (copy+paste) the three models into one in Revit. This is tedious and will probably create a really heavy json file
-B) Allow the viewer to take more than one json file. This seems to be a really good way to collaborate with others, since json files will most likely come from different models (architecture, structure, etc).

I feel that option B is a better approach that we could really benefit from in future projects. What's your take on this? Thanks!

Project splash page

Spectacles needs a splash page, which will be hosted on the CORE studio website. @mnaugle-tt wants to look into some fancy CSS and has some ideas about layout.

vA3C > Spectacles

I did a first pass in the repo. All code files should rename vA3C > Spectacles.

Standard views for all loaded models

All models loaded into the viewer should be able to be viewed in plan, front and side elevations, and from a standard 45 degree birds eye view.

The plan and elevation views should include a dynamic clipping plane allowing the user to cut sections.

Emboss One Json over Other

Hi,

Am trying to load one json over other, its like embossing one model over other.
The below is my code. The problem am getting is its adding a new json to other area, not on same area.

`
var mySpectacles;
$('#btnLoadJson').on('click', function() {
$.getJSON("json1.json", function(data) {
alert('a');
mySpectacles = new SPECTACLES($("#Spectacles_output"),data,function(app) {});

        });

    });

    $('#btnLoadJson2').on('click', function() {
        $.getJSON("json2.json", function(data) {
            mySpectacles = new SPECTACLES($("#Spectacles_output"),data,function(app) {
                app.setBackgroundColor(0xFFFFFF);
            }
            );
        });
    });

`

Please suggest how can i place one json over other.

Rgds,
Amit

Mobile UI / parameters list issue

When using the webviewer on a mobile device, if an element is selected, the parameters list takes up the full screen and doesnt allow for it to be collapsed
spectacles mobile

Wiki

The wiki for this repo should document the following:

  • Basic UI how to - navigation, selection, etc.
  • How to contribute to the project.
  • Embedded viewer instructions
    • basics; necessary references and target div requirements
    • UI customization
    • function overrides

Anything else?

[Wish] Change mouse cursor

It will be very helpful for users who are not that familiar with 3d modeling to change mouse cursor to hand (pan) and orbit so they can figure out the mouse events.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.