Templates as a new Concept for C++ Programming and their Application in Geometric Modeling

Nico Amtsberg, Leibniz Universität Hannover, Studienarbeit
12/2004

Template programming in C++ is a method to parameterize code. This parametrization enables the compiler to generate code from parameterized code. Using this method a template can express the structure of a class of programms or algorithms at compile time (also known as metaprogramming).

Although nowadays the use of templates is common practice this does not include complicated applications. It is known that template programming is turing complete. Nonetheless since templates are formulated in terms of low level constructs it is somewhat difficult to write more complicated programs with them. This seminar provides a unified formalism to express higher level constructs to use them for writing complicated programs. In the end a functional programming language will be presented making template programming straight forward.

There exists no formula computing isolines of the maximal principal curvature function of a general B-spline surface patch.

Therefore those isolines where approximated using a brute force approach providing discrete results. Getting these results in real time was another requirement making it necessary to create a fast spline library with C++ in conjunction with the template technique. The library is capable to compute rapidly a B-spline patch together with all derivatives. We will present some programming techniques used in this library and some approaches to speed up computation of B-spline and Bzier patches.

Kontakt: