Giter Club home page Giter Club logo

xml3d.tools.js's Introduction

xml3d.tools.js

A Toolkit Library for XML3D. For an overview take a look at the examples page

Build Instructions

Eclipse

  1. Download the standard version of Eclipse.
  2. In Eclipse go to File -> Import.
  3. Select Existing Projects into Workspace and click Next.
  4. Set the root directory to the xml3d.tools.js library
  5. In the Projects field the library should appear.
  6. Click on Finish.
  7. In the file explorer on the left side expand the build directory.
  8. Right-Click on build.xml and then Run as -> Ant Build.
  9. Enjoy the newly built xml3d.tools.js in build/output.

By default Eclipse doesn't support Javascript in the editor. You can change that by:

  1. Go to Help -> Install new Software
  2. On the top in the field Work with: select the update site according to your release.
  3. Wait for a long time until you see items listed in the big field (on the very bottom-right of Eclipse you see the status of retrieving all the available software).
  4. In the field below the Work with type javascript.
  5. Two options should be presented in the big field. They are the same, select one of the checkboxes to mark it for install.
  6. Now search for web developer and mark the Eclipse Web Developer Tools for install.
  7. Click Next and follow the install process.

Command Line

  1. Make sure Ant is installed and accessible on the command-line
  2. open a command-line and go to the build directory
  3. type ant develop to concatenate all scripts or ant develop-min for a minified build

xml3d.tools.js's People

Contributors

ebersold avatar csvurt avatar

Stargazers

Fran Lucena avatar Bloo Alien avatar

Watchers

Kristian Sons avatar James Cloos avatar  avatar

Forkers

ebersold

xml3d.tools.js's Issues

Class: better interface

XML3D.tools.Class needs two parameters, baseClass and body. But most of the time the base class is not used at all and only the body is passed into the function.

A better interface would be to create a class with:

myClass = XML3D.tools.Class({body});

and extend this class in this way:

myExtendedClass = myClass.extend({extendedBody});

This is similar to the class creation in http://backbonejs.org/.

Does not work with xml3d 4.8 release

The tools library heavily depends on DOMMutationEvents and will not work with the MutationObserver stuff 4.8 introduced. Especially the examine behaviour is pretty borked (even after trying to change listeners to use MutationObserver).

Camera controllers: turbo mode

Often one wants to travel to a certain location quite fast and then explore that location in detail. For that matter a camera controller should have something like a turbo button with which the user travels e.g. twice as fast.

RotateGizmo: axes sometimes inverted

Sometimes the axes of the gizmos are inverted in the sense that a mouse moving right causes the object to rotate to the left side. I could not yet reproduce this bug unfortunately.

Transformable for view elements

When using camera controllers we have to wrap view elements in group elements to be able to create a Transformable out of it. It would be nice to have Transformables for view elements so this does not have to be done.

ExamineBehavior: panning

Add the option to pan the camera along a plane. Means the camera is moved on a plane, but the point of examination stays fixed. That means the examination point might not be in the middle of the window anymore, but offset by an amount.

general: be able to receive jquery selectors as arguments

On many classes DOM elements are expected. It would be nice if jquery selectors could be passed in as well. This is a rather popular use case because many people use jQuery.

var xml3d = $("#myXml3dElement")[0];
var $defs = $(XML3D.tools.util.getOrCreateDefs(xml3d));

would become

var $xml3d = $("#myXml3dElement");
var $defs = XML3D.tools.util.getOrCreateDefs(xml3d);

RotateGizmo: adaptive sensivity

The rotation gizmo is way too sensitive at big scales (e.g. object with scale of 200). The gizmo should automatically adapt to the scale of the target node, to have the same sensitivity no matter the scale.

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.