Computer Science 481/681 Program 5 Due Oct 12 at 11:59 pm Your mission here is to complete the support for image warps into the viewer. Your program should work like the reference viewer in the class directory. It must allow the user to define composite warps consisting of multiple transforms entered one at a time. The img->warp and img->iwarp matrices should be reinitialized ONLY when the Init menu item is selected. An outline of the suggested steps to complete the implementation is provided in the viewer-2.pdf file. -------------------- READ THIS ------------------------------- For this program the ONLY authorized sources of code is the code in the notes and code you have created with the KEYBOARD. Electronic exchange of code and/or screen scraping of code and or use of hard copy obtained from other sources is STRICTLY PROHIBITED. You are free to discuss the problem with other members of the class, describe problems you are having to other members of the class, and offer verbal suggestions. In doing this you are allowed to view code written by others, but YOU MUST NOT CONVEY YOUR CODE EITHER ELECTRONICALLY OR IN HARDCOPY TO ANY OTHER STUDENT!! You are responsible for protecting your own code. If I should receive duplicate code, all parties involved will receive the SAME PENALTY regardless of who actually wrote the code. If you are stuck on a programming problem, you are encouraged to contact Dr. Westall by e-mail. Such email should contain: 1 - A description of the problem you think you are having (e.g. I am getting a segfault when I call fread() to read the pixel data. 2 - The name of any input file and value of any input parameters (so that I can reproduce what you are doing) 3 - An attached .tar file that contains your code and input data To create a tar file: Assume code in directory /home/student/class/481/p3 (1) cd /home/student/class/481/p3 (2) tar cvf ../me.tar . (3) the me.tar file you need to send will be created in the parent directory --------------- BE CAREFUL WITH tar -------------------- Enter the command exactly as shown above. A common error is to think I remember and do something like tar cvf * This will DESTROY the alphabetically first file in your directory!! --------------------READ THIS TOO ------------------------------- Adhere to the following programming standards. Violations will lead to deductions. (1) no function should be longer than 30 lines of code + whitespace. (2) the maximum nesting level in any function is TWO (3) code lines should not extend beyond column 72 (4) no more that one statement may be written on a single line (5) use reasonably descriptive names for variables and functions (6) your program should compile without any warnings with gcc -Wall (7) indenting should be consistent with logical nesting (8) diagnostic / debug prints should be disabled/deleted in your submission. WHAT YOU MUST SUBMIT: You must submit the following files: image.h imagehdrs.h vector.h viewer.c glutglue.c ppmimage.c image.c userglue.c menu.c box.c makefile Do NOT submit image files! Components of each of them are in the p3 subdirectory I will compile your program by entering the command make It should create an executable named viewer and produce NO COMPILER WARNINGS when compiled with the -Wall option. HOW TO SUBMIT YOUR CODE: NOTE: This procedure has NOTHING in common with "handin" nor "sendlab" Do NOT even TRY to think about how they fit into this procedure because THEY DON'T!! 1. From any departmental lab system ssh to workstation glint2. The initial password is cs481 (EVEN IF YOU ARE IN 681) 1.b. ssh to purple01 and then enter the command yppasswd -------------------------------------------------------------- 2. The submission directories lie in the directory /home2/westall/481/p3 3. Copy your code to YOUR directory in p3 Don't change the permissions. Assuming your id is wjsmith and you are logged into the system that contains the code you want to submit (1) cd to the directory that contains the stuff you want to submit (2) scp * glint2:/home2/westall/481/p3/wjsmith 4. ssh to glint2 cd /home2/westall/481/p3/wjsmit make sure your stuff is there make sure your program builds and runs correctly Late programs will be subject to a 10 * N penalty where N is the number of days late.