mardi 24 novembre 2009

Week 07 [16/11 to 22/11]


Work Of The Week



This week I didn't work so much because my laptop past out. It then takes time to buy a new one and ask for a computer in RGU facilities in order to work.


But I worked a little on OpenGl picking, just doing some researches. I also begin to adapt the interface to handle translation. The main work was on the creation of an Exception class that will display an error message.



Total worked: 3 hours.




Adding the translation



Not so much needed to be done, just few lines to modify the drawing matrix and few researches on Qt way of handling key pressed and released events.

Time worked:
1 h

Creation of Exception class



This was a little more longer than expected, and not fully finished (documentation need to be written). But I use it for the OBJ loading process, and it is almost ready for other tasks exceptions (a little code adaptation need to be done, instead of throwing 0 must throw an object).

Time worked:
2 h


Gantt State



No Gantt state this week, as no real evolution happen.


Information And References



Same as usual for the Qt documentation, and the following websites for the OpenGl picking:






Next Week prevision



Next week is the coursework week in the School of Computing, but I don't have too much courseworks yet. I will certainly continue the current tasks, that is code adaptation for new features. I should provide new interface widgets and actions soon.



  • create a namespace structure to separate the code
  • Add the latest features (camera window, selection window, settings, ...)

mardi 17 novembre 2009

Week 06 [09/11 to 15/11]


Work Of The Week



This week I worked half of the time on the design, and the other one on the beginning of the development. The result of the design is a document that summarize my first choices for the object organisation and also for their interaction. You can get the result of the development windows 32 binaries, the software is working, and no major bugs were found for the moment. If you want the sources just contact me by email.


I changed my sendspace folder as public, so now you can access it or follow the RSS feed to get all the documents.


Total worked: 16 hours.



Design



Most of the design work was about creating the final document and finish the drawing with Bouml. It tooks time, but give a satisfactory result. Moreover if it evolves during the development time, some changes could be done on Bouml fairly easily.

Time worked:
5h30

Development



The development was almost adapting the previous code, done as a prototype, in order to follow the UML class diagrams. Then I used the Qt Designer to create the first GUI and link it with my code. All was not very difficult, but is time consuming (learning a little about Qt Designer, that I almost never used). The result is a easy to develop interface, that needs few code creation. At this point the software has a basic interface and can load or save several type of file format (text and OBJ).

Time worked:
10h30


Gantt State


As the Gantt diagram shows it I am in advance of 1 week over the schedule. Basically this is due to my current work, that wasn't faster than expected, just that I worked more than expected. But as next week is the assessment week I will, may be, work less on the project. Anyway the left part of the interface isn't the easier one: the selection mechanism.




Information And References



I didn't use so much references that week also, instead of the Qt documentation.





Next Week prevision



Next week I should focus myself on the last parts of the interface creation. In order to follow what was said in both Gantt and the design I should:


  • handle translation of the view
  • learn an try to use the OpenGl selection mechanism

I will certainly do the first part, but will only begin to work on the second one if I have enough time.

mardi 10 novembre 2009

Week 05 [02/11 to 08/11]

Work Of The Week


This week work was shared between the writing of a document that will certainly be inserted in my final report and continuing the design. I wrote the whole "choice" document, available here, and almost finish the UML drawing.


I have, for the moment, several class and sequence diagrams to illustrate some of the basics possible actions. In fact just two Sequence diagrams are missing in my list: the selection mechanism and the saving into files. The first one needs more research on how OpenGL handles it, and the second was almost not done by lack of time. I begin to write a little document that will contain all the design of the project, or the most it can, in order to publish it here.


Total worked: 11 hours.



The choice justification



Writing this document was almost just putting my note to a clean an ordered document. But as it goes further I needed to insert few references, most of them are websites, and write some descriptions about tools and other possible choice that could have been made. The global result of that is a document that present most of the choices I made, and explain them.

Time worked:
5h30

UML drawing



I draw several different diagrams during the week.

3 class diagrams:
  • a relation diagram
  • the detailed base package
  • the detailed interface package
several sequence diagrams:
  • MainWindow's creation
  • Image loading
  • Vue modification
  • display mechanism
  • changing the background colour
All will be explained and detailed in the design document that will be published at the end of the design part. But, as a preview, you can see the relation class diagram:

Class diagram: relations


Time worked:
5h30


Gantt State


The current state of the project is still the design part. All is going as it is planed, even if I was thinking of going to fast in the beginning of the project. Because even if some part of the next steps are already done, the further adaptation that will be needed for the adaptation of the UML diagrams will take time. In other words the little programming work I done as a prototype wasn't a losing of time, it permitted to give me better ideas on how I have to implement the whole structure.


One task isn't totally finished yet: the interface drawing. All that need to be done is simply to clean and scan the drawings.



Gantt diagram


Information And References



I did use quite a lot of references this week, mostly tools website, to write the choice document. But for the UML drawing none of them were necessary, as Bouml provide most of the tools I needed, and as I was familiar enough with the class and sequence diagrams to do not need to refers to books or websites.





Next Week prevision



As the Gantt diagram shows it next week will be the end of the design part of the project. I will publish the design document here, that will summarise all the work that have been done in this part. Then the implementation part will begin, with the interface and core development.



  • finish design and publish the result document
  • begin the implementation part

lundi 2 novembre 2009

Week 04 [26/10 to 01/11]

Work Of The Week


This week was basically the end of the Requirements definitions. Additionally work was done to improve the document, and it was finally published on Friday (you can download it here).


During this weekend I had some time left to read and adapt my previous code (done for CM3030: 3D Graphics Using OpenGL And C++):

  • to use Qt as Graphic Interface and not Glut
  • to load obj files instead of 3DSM files or simple text files.
And basically I succeed the first point, but still have few trouble with OpenGL function I did know. The second point is a bit more complicated, and after the deployment of my basic set of classes, is now almost done. But still more need to be done in the two points to have a clean code that will be ready to be integrated in an evolved GUI.

You can have a look on what I've done by downloading the current software that is not documented or even bug free, but it will give a good preview of what I've done so far. As the current work isn't yet finished, no sources are provided, but I can send them on demand.


Total worked: 13 hours.



Requirements



Work on the document itself, excluding already finished functional requirements.

Time worked:
2 h

Correction and adaptation of the document following Eyad's advices:
creation of the Optional Part, few simplifications on the lists for non-functional objectives, introduction and glossary work.

Time worked:
2 h

Design and Development



Drawing for the interface.

Time worked:
1h

Design and creation of the Basics set of classes (Mesh, Algorithm, MeshWidget, Loader).

Time worked:
2 h

Creation of the main functionalities of the MeshWidget (moving the view with the mouse) and of the Loader object (load form basic text files, and simple OBJ files). Need documentation step.

Time worked:
6 h


Gantt State



The Gantt Diagram above shows that I'm going faster than expected for the design. It is also true that I begin a little of development, as I am using a spiral development schema (design - develop - test - document -> go back to design), But most of the design will be done at the end of the next week I presume.




Gantt State 03/11/09 link


Information And References


Useful read of documentations:




Next Week prevision



The next week work is simple to plan: the current work on loading the files will be paused a little, as the Text loading is working, to focus on the design. Some drawing need to be completed, and UML class diagrams, UML action diagrams will be provided.



  • UML class diagrams (for the base, and interface parts).
  • UML action diagrams to represents the main functions of the interface.
  • Finishing the interface drawing to have a finished "first idea" of the interface.

I should also quickly write to "proper" some discussions about my choices for the project, including technology solutions and used tools. This should certainly come with a first publication about my researches, that were limited for the moment on what is 3D scanner, and some basics about 3D graphics (a mesh definition, and some way of storage, more focused on the OBJ format).