Skip to content.
CCB > CCBSIGS > ShapeToolLibraryProgram > DuffOffTranslator > DuffOffTranslatorProjectDefinitionV1x0

Duff/Off Translator Project Definition ( v1x0 )

(draft, 18 December)

Overview

This is a project that will allow a simple conversion between the Duff and Off formats. This will be a stand-alone application.

Restrictions, Exclusions, Limitations

  • There is some data in the Duff format which has no equivalent in the Off format and vice-versa. This data will necessarily be lost.

People Affected

Person Initials Role Notes
Ryan Cabeen RC Application designer and programmer  
Craig Schwartz CS supervisor  
Roger Woods RW sponsor  
Allan MacKenzie-Graham AM user  

Version

1.0

Products

This project will result in the following products:
  • A stand-alone application which can be used to convert between Duff and Off.
  • A group of JUnit test classes which will validate the public interface the classes described above.
  • A user's guide for the application.
  • A set of usage examples.

Requirements

  • Java 1.5 or greater will be used
  • Takes as input:
    • two filenames, one that is to be read and one that is to be written
  • Creates as output
    • a new file at the second filename
  • The user can specify if files should be overwritten, otherwise an error will occur
  • The program will have a verbose option.
  • The program will have a usage page.

Requirements Change Procedure

  • Changes to be mutually agreed upon by Craig and Ryan.
  • Changes and their date will be entered in a 'requirements change' list.

Requirements Changes

Approach

The Duff and Off formats encode faces in the same way-- they are triangular faces. Both formats optionally encode RGB colors and normals at each vertex. These attributes will be preserved without loss.

There is meta-data in the Duff format, however, which has no equivalent in the Off format. Furthermore, there are UV coordiantes that are allowed in the Off format. This data will necessarily be lost in the translation process.

The application will have two required arguments: the source file and the destination file. The source file is the shape that is to be converted, and the destination file is the location to which the converted shape is written. One of these must have a Duff suffix and the other must have an Off suffix. If the first file is a duff, it is converted to an Off, and if the first file is an Off, it is converted to a Duff.

The default behaviour is to never overwrite files. If the destination file exists, then an error will be reported. There will be a flag to indicate that files should be overwritten.

There default behaviour is to not print anything to the console; however, if the verbose flag is used, the program will print messages.

There will be a flags that will print the version and to print the usage.

discarded approach 1

(approach)

(reasons why it was abandoned)

Notes

Lessons Learned

(filled out after the post-project review)
  • lesson 1
  • lesson 2