Académique Documents
Professionnel Documents
Culture Documents
M O D E L I N G A N D A N I M AT I O N , L A B 0
1
2.3.1 Report figure that shows how the edges are connected and
you describe it in the text.
All 6 reports are personal and should be written in-
The section Results should describe your results.
dividually as they will be the base for an individual
You should show about 2-4 figures (2 for grade 3,
grade. The reports have to be written in LaTeX and
3 for grade 4 and 4 for grade 5), which you made
sent to me as a pdf file. There is a LaTeX template
with your program, and describe what you see and
on the course page. Compiling the LaTeX source
how you achieved that. This section should cover
code in the same directory as the figure using pdfla-
1 A4 page if you aim for a 3 and 1.5 pages if you
tex gives you a pdf document like the compiled
aim for a 5 (including Figures). The Results section
version on the course page. You can use the LaTeX
should end with one short paragraph (4 sentences
source as a blueprint for your reports.
or so) that summarizes your results. It is followed
The reports should not contain pseudo-code. If by a sentence stating the grade you want and the
you use information from text sources other than list of references if you have any.
the lab script or the lecture notes then you have to The total length of your report should be about
refer to these sources. The report should be self- 3.5 pages for a 3 and about 4.5 pages for a 5 (in-
contained, which means that it should not be nec- cluding all figures). You can use subsections in the
essary to read other sources such as the papers that section Results to distinguish the individual tasks
you list in your reference list. You can assume that you implemented. Please avoid using subsections
the reader is familiar with the lab script and the lec- in the Introduction and Background and structure the
ture notes and explain the algorithms covered by text solely by using paragraphs.
these without going too much into detail.
Subdivide your report into an Abstract, an Intro-
duction, a Background section and a Results section.
3 Supported Systems
Abstract: summarize in about 80 words the re- To make the code cross-platform, we use the wxWid-
ports content and focus primarily on your results. gets library1 for the user interface. This is supported
The section Introduction provides the reader with for many platforms and compilers, but during the
a compact description of what the aim of the lab labs we restrict our support to Windows 7 using Vi-
was. You do not go into technicalities in this part of sual C++ Express Edition 20122 . The lab computers
the report. You describe in own words the general in K4507 run Windows. If you bring a laptop with
idea behind the lab: How do we expand in this lab a different system we cant guarantee it will work,
our program, what approach do we take and with but you are of course free to give it a try.
what goal in mind?
The Abstract, the Introduction, your name, the 4 Getting the Code
course code and the title of the report (for example
Lab 1: Mesh data structures) should fit on the first The code and sample datasets are available in the
page of the report without leaving too much blank form of zip files on the course homepage3 . It is
space on it. recommended to store the code on a local hard drive
The section Background should take up about one during the lab since this will speed up compilation
A4 page if you aim at a grade 3 and about 1.5 A4 times. But remember to move your files to another
pages if you aim at a 5 (excluding Figures). You give storage (e.g. H: or USB stick before leaving the lab)!
in this section a more detailed description of what 1 http://www.wxwidgets.org/
you have implemented in this lab. You can use 2-3 2 http://www.microsoft.com/express/vc/
figures to support your description. For example, if 3 http://www.itn.liu.se/mardi/WebPages/Courses/TNM079/courseTNM079-
2
5 Additional libraries breakpoints) since this will drastically slow down
the application.
The wxWidgets libraries need to be downloaded
separately from the course page if you work in Win-
dows. We use the version for VC++ 2012 (the lab 7 Code Structure
computers use VC++ 2012). You can extract the files
in the VC++ directory for the build system to detect After successfully compiling and running the appli-
them automatically (see next section). However, if cation we can have closer look at the code structure.
you have little storage left on your network storage The G U I is implemented in GUI/FrameMain so you
you can put them anywhere on a local drive. can start by looking through this class (we have
also supplied the file GUI.fbp which you can use to
modify the GUI in wxFormBuilder). An important
6 Compiling class is also GUI/GLObject which all objects added
to the scene inherit from (such as meshes, implicits,
cut planes etc.). A base class for geometrical objects
We use CMake4 to create build scripts for differ-
is Geometry/Geometry which adds transformations
ent environments. After having downloaded the
and the vital Update() and Initialize() functions.
code and the wxWidgets libraries (see above), open
Feel free to browse around and take your time to
CMake. Browse for your source code directory and
familiarize yourself with the code.
choose a directory for the build. For example, if
your code is at H:\Code, you can create a directory
H:\Code-build for your build. Next, press config-
ure to check for a working environment. If every-
8 Acknowledgements
thing is fine, it will report configuration done. If The lab scripts and the labs were originally de-
the wxWidgets library is not found, you have to set veloped by Gunnar Lathen, Ola Nilsson, Andreas
the correct directory in the wxWidgets ROOT DIR pa- Soderstrom and Stefan Lindholm.
rameter. Each time you change a variable you have
to press configure to rebuild the configuration.
When everything is done, press generate to create
the solution/make-files in the build directory.
Note that the entire code-base is available from
lab 1, but only the files necessary for each corre-
sponding lab will be included in the build. This
makes it easier to navigate in the source files in
the beginning. Before each lab we will update the
CMake-file to include the files for the next lab. If you
want to skip ahead, you can select the advanced
parameters in CMake and check the box for a later
lab, e.g. BUILD LAB3 which will include all files up
to, and including, lab 3.
In Visual C++, you need to set the MoA project
as startup project by right-clicking on MoA and se-
lect set as start-up project. You can either build
using Release or Debug settings only choose
Debug if you actually debug your code (e.g. using
4 http://www.cmake.org/