Functional Specification - HephaestusVision/hephaestus GitHub Wiki

back to main page

Hephaestus Functional Spec

The Hephaestus project consists of three related applications that will allow users to create a 3d model on a computer with an attached Kinect, save the 3d model to the cloud, and then view the 3d model on an IOS device.

Use Cases

Creator Use Cases:

A creator is a user who will use our computer application to create a 3d model using a Kinect hooked up to their machine.

  • Normal Cases

    1. The user opens our application and the user has the option to create a new 3d model or to load a previously made 3d model from the server.
    2. The user can take a picture of the object they are trying to model and they see two different views in the app, one which shows what the Kinect is currently seeing, and one showing the 3d model that is being rendered. (See interface)
    3. The user then takes a sequence of pictures moving the Kinect camera around the object and the full 3d model is rendered on the left screen.
    4. The user then rotates the 3d model by right clicking the model and sliding the mouse to make sure the image is ready to save.
    5. The user then clicks the upload button to save the 3d model to the server. If this is the users first time sending a 3d model to the cloud, they will be prompted to create an account. The user can create a folder and set up permissions so his colleagues can download the model.
    6. In addition, the user can save the 3d model to the user’s computer.
  • Special Cases

    1. If the user disconnects the Kinect while he is completing a 3d model, a warning will appear on the screen telling the user that the app lost connection to the Kinect and that it cannot take any more pictures.
    2. If the user does not have internet connection when they try to save the 3d model to the server a warning will appear telling them they have no internet connection and it will tell them they can only save the model locally.

User viewing 3d models on computer:

This user is a person that wants to load a previously made 3d model. 1. The user opens the application with no Kinect connected to their computer. A warning pops up telling the user they cannot create a 3d model without a Kinect. 2. The user clicks the load button. A file window appears with all the 3d models that the user previously created and all 3d models that were shared with this user. 3. The user clicks on one of the files from the server. The 3d model loads in the rendered object window. 4. The user is able to rotate the object, zoom in, and zoom out from the object.

First-time Salesman:

The first-time salesman is a user that will be showing a 3d model on their IOS device for the first time. The user (or someone else) has already created a 3d model using the computer program and he is simply showing off the model on his smart device.

  • Normal Cases:

    1. The user opens the app. Since this is the users first time using the app, he is prompted with a log in screen. He can either sign into his previous account or create a new account with an email address.
    2. Once the user signs into his account a file viewer opens allowing him to see all files that have been shared to him.
    3. By tapping a file, a 3d model opens in the app window.
    4. The user is able to easily rotate the 3d model, zoom in and out, and move within the 3d space.
    5. A small folder icon stays on the bottom right to allow the user to re-enter the file viewer.
    6. From within the file viewer the user can then share the same 3d model with his client so the client can open the model on their smart devices. The user can set a permission so the client cannot share the 3d model further if he so chooses.
  • Special Cases:

    1. If the user does not have an internet connection when the user enters the app a warning will appear telling the user they have no internet connection and that they cannot load a 3d model.

Repeat Salesman:

The repeat salesman is a user who has used the Hephaestus Viewer already on their IOS device. 1. The user clicks on the icon and the app opens. Since the user previously signed into his account it does not ask him for account information and password. 2. The user is able to load and share 3d models in the same way as the First-time Salesman.

Requirements:##

Primary:

  • Use Kitware Technologies and stay on platform (This includes VTK, MIDAS, KiwiViewer and CMake).

  • Open source and easy to use computer app.

  • Reasonable fidelity for 3d models

  • A sequence of pictures will produce a 3d model

  • User should be able to create 3d models in a reasonable amount of time

  • User is able to save 3d models to a disk or to the cloud

  • Users should be able to easily share 3d models with colleagues

  • User is able to load previously made surface representations on the computer app.

  • For the IOS app, the user is able to log onto their account and are able to download personal and shared files.

  • For the IOS app, the functionality should be like KiwiViewer, allowing the user to rotate, zoom in, and zoom out of the 3d model.

  • For the IOS app, the user is able to load 3d images from the cloud

Secondary:

  • 3d viewing app for android systems

  • Web app that allows users to view 3d models

  • User can show a series of 3d pictures over time

viewapp-interface.png

scan-interface.png