Skip to content.
CCB > CCBSIGS > ShapeToolLibraryProgram > ShapeViewer > ShapeViewerProjectManagementV_1_4

ShapeViewer v1.4 - Project Management

Add capacity to display information about a user selected vertex

People Affected

Person Role Notes
Craig Schwartz Programmer, Architect  
Elizabeth Sowell Researcher  
Eric Kan Researcher  
Roger Woods Sponsor, Researcher  

Project Purpose

Add to the ShapeViewer the capacity for a user to select a vertex of a displayed shape, and display the coordinates and attributes of the selected vertex

Use Cases

Use Case 1: Select Vertex

A neuroscientist starts the ShapeViewer and loads a single shape file (Ucf, Obj,..). She uses the mouse to reposition the shape and then double-clicks the mouse while it is positioned over the display window. The ShapeViewer responds by showing a previously hidden list of selected vertices. This list is empty, to start with.

She then single-clicks near a vertex. The vertex nearest her click is visually highlighted, and it's coordinates, index and other relevant data are appended to the list of selected vertices. If a selected vertex (highlighted) is clicked a second time it is removed from the list of selected vertices and it's visual highlight disappears.

At any time during this process she may use a control on the 'selected vertex' list to save the coordinates and other information (t.b.d) of the selected vertices to a file on the local computer disk drive.

When she is ready to re-position the display she double-clicks the display, or chooses a [close] button on the list of vertices.

The ShapeViewer response by hiding the 'selected vertex' list.

If she again double-clicks the display, the list appears with it's previous contents. She may, at any time, instruct the list to clear itself.

Approach to be used

1) Determine how to do several basic type of actions using java, java3d, and the shape viewer. These are:

  • Investigate Java3D to determine
    • how to select a vertex
    • how to find which vertex is selected.
  • Determine how to find the ShapeTools shape vertex corrosponding to a selected java 3d vertex.
  • determine how to add a command primitive to the shape viewer scripting language.
  • learn how to add a data display panel to the ShapeViewer GUI
  • learn how to 'highlight" a specific vertex in the viewer display (e.g. show that it is "selected").

2) combine the above to:

Add a "select vertex" primitive to the ShapeViewer scripting language. This command will update a data display panel in the viewer with the particulars of the selected vertex. If possible, maintain a list of selected vertices that can be saved in some form to an exported file. Ideally, if a meember of this list is clicked then the corrosponding vertex is highlighted/

Milestones

Item Planned Date Actual Date
Demo test bed vertex selection and pop-up list to Elizabeth and Eric 8/15 8/15
Demo ShapeViewer vertex selection and pop-up list w/ vtx removal to Eliz & Eric 8/23 8/23
Demo ShapeViewer with export of list    
Demo ShapeViewer with vtx highlight    
Submit updated SoftwareDownload Package    

RACI Plus Chart

  • R = Responsible. Person owns the problem / project.
  • A = Action. Person will need to do something.
  • C = should be Consulted. Has information and/or capability necessary to complete the work.
  • I = should be Informed. Must be notified of results, but need not be consulted.
  • W30 = Week 30, et. cetera
  • Bgt Hrs = Budeget Hours, Act Hrs = Actual Hours
Activity CS RW ES ER Bgt
Hrs
Act
Hrs
ExpHr
1:Purpose/Requirements         2 2 Lost Track
2:!TestBed/Select Vtx         8 34 Lost Track
3:Add Script Command         8    
4:Data Display Panel R I C C 8 6 Lost Track
5:Highlight Vertex R I C C 16 2 Lost Track
6:Add Panel Highlight to Viewer         24 4 8
7:User Feedback         8    
8:Client/Server test         8    
9:Fix Problems         16    
10:Export vertices         8 8 8
11:User Feedback         8    
12:Test and Fix         8    
13:Package Release         8    

Risk Assessment

Confusion and Difficulty get rated 1,2 or 3. "Confusion" is opposite of understanding - if the step is well understood then the confusion rating is low (1). The Risk column is the (confusion * difficulty). Tasks with high values are more likely to have problem

Activity Confusion Difficulty Risk
Purpose/Requirements 1 1 1
TestBed/Select Vtx 2 2 4
Add Script Command 2 3 6
Data Display Panel 2 2 4
Highlight Vertex 3 3 9
Add Panel Highlight to Viewer 2 1 2
User Feedback 1 1 1
Client/Server test 2 3 6
Fix Problems 2 3 6
Editable data display 2 2 4
Export vertices 2 1 2
User Feedback 1 1 1
Test and Fix 2 3 6
Package Release 1 1 1

Risk Mitigation Plans

(Contingency plans for risk > 5)

highlight a vertex
Omit feature.
Add Script Command
reschedule to next release
Client/server test
reschedule to next release

Development details

Lessons Learned (version 1.0 ... 1.3)

    • Test early on all development platforms is most efficient
    • establish resource requirements early.
    • it worked to show a new feature and get quick feedback from expert users.
    • write software for the users.
    • complete documentation of all classes.
    • define the context for major new features (e.g. firewall / client-server).
    • prototype major new features or technology in all realistic contexts (firewall/client-server).

Future version plans