Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/objecthierarchy/src/orxonox/objects/test3.cc @ 434

Last change on this file since 434 was 434, checked in by landauf, 16 years ago

added a config-file-parser and a makro ( SetConfigValue(variable, defaultvalue) ) to get user-modified values from the config-file (or to write the defaultvalue into it if the variable isn't yet in the file).

File size: 2.5 KB
Line 
1#include "test1.h"
2#include "test2.h"
3#include "test3.h"
4
5namespace orxonox
6{
7    CreateFactory(Test3);
8
9    Test3::Test3()
10    {
11        RegisterObject(Test3);
12
13        this->setConfigValues();
14    }
15
16    void Test3::setConfigValues()
17    {
18        SetConfigValue(value_int_, -100);
19        SetConfigValue(value_double_, 10.555678);
20        SetConfigValue(value_bool_, true);
21        SetConfigValue(value_string_, "Dies ist ein Test");
22        SetConfigValue(value_vector3_, Vector3(13, 26, 39));
23        SetConfigValue(value_colourvalue_, ColourValue(1.0, 0.5, 0.25, 0.887));
24    }
25
26    Test3::~Test3()
27    {
28    }
29
30    void Test3::configOutput()
31    {
32        std::cout << this->value_int_ << std::endl;
33        std::cout << this->value_double_ << std::endl;
34        std::cout << this->value_bool_ << std::endl;
35        std::cout << this->value_string_ << std::endl;
36        std::cout << this->value_vector3_ << std::endl;
37        std::cout << this->value_colourvalue_ << std::endl;
38    }
39
40        #define testandcout(code) \
41          std::cout << #code << " " << code << "\n"
42
43    void Test3::usefullClassesIsATest(Test1* test1)
44    {
45        std::cout << "\n";
46        std::cout << "Test1:\n";
47        testandcout(test1->usefullClass1isA(Class(Test1)));
48        testandcout(test1->usefullClass1isA(Class(Test2)));
49        testandcout(test1->usefullClass1isA(Class(Test3)));
50        std::cout << "\n";
51        testandcout(test1->usefullClass2isA(Class(Test1)));
52        testandcout(test1->usefullClass2isA(Class(Test2)));
53        testandcout(test1->usefullClass2isA(Class(Test3)));
54        std::cout << "\n";
55        testandcout(test1->usefullClass3isA(Class(Test1)));
56        testandcout(test1->usefullClass3isA(Class(Test2)));
57        testandcout(test1->usefullClass3isA(Class(Test3)));
58    }
59
60    void Test3::usefullClassesIsATest(Test2* test2)
61    {
62        std::cout << "\n";
63        std::cout << "Test2:\n";
64        testandcout(test2->usefullClass1isA(Class(Test1)));
65        testandcout(test2->usefullClass1isA(Class(Test2)));
66        testandcout(test2->usefullClass1isA(Class(Test3)));
67        std::cout << "\n";
68        testandcout(test2->usefullClass2isA(Class(Test1)));
69        testandcout(test2->usefullClass2isA(Class(Test2)));
70        testandcout(test2->usefullClass2isA(Class(Test3)));
71        std::cout << "\n";
72        testandcout(test2->usefullClass3isA(Class(Test1)));
73        testandcout(test2->usefullClass3isA(Class(Test2)));
74        testandcout(test2->usefullClass3isA(Class(Test3)));
75    }
76}
Note: See TracBrowser for help on using the repository browser.