Giter Club home page Giter Club logo

ros3djs's Introduction

ros3djs Build Status

3D Visualization Library for use with the ROS JavaScript Libraries

For full documentation, see the ROS wiki or check out some working demos.

JSDoc can be found on the Robot Web Tools website.

This project is released as part of the Robot Web Tools effort.

Usage

Pre-built files can be found in either ros3d.js or ros3d.min.js.

Alternatively, you can use the current release via the Robot Web Tools CDN: (full) | (min)

Dependencies

ros3djs depends on:

EventEmitter2. The current supported version is 0.4.14. The current supported version can be found on the Robot Web Tools CDN: (full) | (min)

three.js. The current supported version is r89. The current supported version can be found on the Robot Web Tools CDN: (full) | (min)

THREE.ColladaLoader. The current supported version is r89. The current supported version can be found on the Robot Web Tools CDN: (full)

THREE.STLLoader. The current supported version is r89. The current supported version can be found on the Robot Web Tools CDN: (full)

(ROS)ColladaLoader. We support patched version of ColladaLoader to workaround ros-visualization/rviz#1045. This version can be found on the Robot Web Tools CDN: (full)

roslibjs. The current supported version is 0.20.0. The current supported version can be found on the Robot Web Tools CDN: (full) | (min)

Build

Grunt is used for building, including concatenating, minimizing, documenting, linting, and testing.

Install Grunt and its Dependencies

Ubuntu 14.04

  1. Install Node.js and its package manager, NPM
  • sudo apt-get install nodejs nodejs-legacy npm
  1. Install Grunt
  • sudo npm install -g grunt-cli
  • sudo rm -rf ~/.npm ~/tmp
  1. Install the Grunt tasks specific to this project
  • cd /path/to/ros3djs/
  • npm install .
  1. (Optional) To generate the documentation, you'll need to setup Java. Documentation generation is not required for patches.
  • echo "export JAVA_HOME=/usr/lib/jvm/default-java/jre" >> ~/.bashrc
  • source ~/.bashrc

Ubuntu 12.04

  1. Install Node.js and its package manager, NPM
  • sudo apt-get install python-software-properties
  • sudo add-apt-repository ppa:chris-lea/node.js
  • sudo apt-get update && sudo apt-get install nodejs phantomjs
  1. Install Grunt
  • sudo npm install -g grunt-cli
  • sudo rm -rf ~/.npm ~/tmp
  1. Install the Grunt tasks specific to this project
  • cd /path/to/ros3djs/
  • npm install .
  1. (Optional) To generate the documentation, you'll need to setup Java. Documentation generation is not required for patches.
  • echo "export JAVA_HOME=/usr/lib/jvm/default-java/jre" >> ~/.bashrc
  • source ~/.bashrc

OS X

  1. Install Node.js and its package manager, NPM
  1. Install Grunt and the test runner Karma
  • sudo npm install -g grunt-cli karma
  1. Install the Grunt tasks specific to this project
  • cd /path/to/ros3djs/
  • npm install .

Build with Grunt

Before proceeding, please confirm you have installed the dependencies above.

To run the build tasks:

  1. cd /path/to/ros3djs/
  2. grunt build

grunt build will concatenate and minimize the files under src and replace ros3d.js and ros3d.min.js in the build directory. It will also run the linter and test cases. This is what Travis CI runs when a Pull Request is submitted.

grunt dev will watch for any changes to any of the src/ files and automatically concatenate and minimize the files. This is ideal for those developing as you should only have to run grunt dev once.

grunt doc will rebuild all JSDoc for the project.

Testing

Utilizes mocha and chai for in browser testing.

To run tests simply open tests/index.html in a web browser

Examples

There are a variety of examples of the different things that can be done with ros3djs.

There are also some examples of how ros3djs can be used in different environments:

License

ros3djs is released with a BSD license. For full terms and conditions, see the LICENSE file.

Authors

See the AUTHORS.md file for a full list of contributors.

ros3djs's People

Contributors

rctoris avatar dlu avatar t045t avatar jihoonl avatar baalexander avatar mvollrath avatar j-rojas avatar brean avatar faizanv avatar daniel86 avatar achim-k avatar kazutomurase avatar asisbot avatar ompugao avatar mtenorth avatar pbuteau avatar mbredif avatar mszarski avatar jstnhuang avatar jakobs avatar sirver avatar cjds avatar drigz avatar oka1125 avatar andreihaidu avatar ajspera avatar sosentos avatar psaripp avatar nickvaras avatar lennartdopatka avatar

Watchers

James Cloos avatar  avatar

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.