There will be more development at a later date, but this project is to merely construct the JS file that will wrap the available Raphael library and accept geometric data from a JSON array to present it to the user.
The viewer must:
1. Allow zoom/scale, rotate and turning layers on and off.
2. Not require reloading the page to redraw
3. The JS file must be independent of the data it presents - ie a wrapper.
4. Ability to add: POINTS, POLYGONS, TEXT and IMAGES - some skewing and scaling is necessary for images also.
5. Sit on an HTML page.
6. Run on the popular browsers on MAC, Windows and Linux platforms (Raphael takes care of this from the viewer point of view)
7. Some simple colouring of geometric shapes.
8. Highlighting shape under mouse
A prototype is available upon request for viewing for what is currently in production that this will be replacing so you will quickly be able to visualise what we are talking about
At a later date the engine will be required to be able to accept new data from the JSON array and redraw without a full refresh of the page - not part of this spec but it must be capable of extending onto this.
You will be given:
1. the JSON array for the data to be presented.
2. The images to present.
2. Calculation methodologies to convert 3d points to 2d representation (unless you have better ones)
You are required to use:
1. The Raphael js library to build the SVG or VRML graphics
3. Object-orientated programming.
4. AJAX input-output functionality to be possible.
The completed project will be a single JS file.
A Non-Disclosure Agreement will need to be agreed and signed before starting or viewing the current viewer, and all IP will belong to us at the conclusion of the project.