-
Notifications
You must be signed in to change notification settings - Fork 0
/
Panorama.cpp
67 lines (33 loc) · 1.05 KB
/
Panorama.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Panorama Class
// Damien MATTEI
#include "Panorama.hpp"
// implementations
template <class T> Panorama<T>::Panorama() {
#ifdef DISPLAY_CONSTRUCTOR
cout << "# Panorama constructor # " << this << endl;
#endif
}
template <class T> Panorama<T>::~Panorama() {
#ifdef DISPLAY_CONSTRUCTOR
cout << "# Panorama destructor # " << this << endl;
#endif
}
template <class T> ostream& operator<< (ostream &out, const Panorama<T> &pan)
{
out << "Panorama("
<< &pan
<< ")"
;
return out;
}
template <class T> Object<T> & Panorama<T>::createObject(string filename) {
assert(MAX_OBJECTS > ++cpt_obj);
Object<T> * ptrObject = new Object<T>(filename);
arrayPtrObject[cpt_obj] = ptrObject;
Object<T> & refObject = *ptrObject;
return refObject;
}
// create an instanciation that will be usefull at linking
template class Panorama<float>;
//template Object<float> & Panorama<float>::createObject(string); // create a double instanciation
template ostream& operator<< (ostream &, const Panorama<float> &);