source: GTP/trunk/Lib/Vis/Preprocessing/src/BoostPreprocessorThread.cpp @ 1166

Revision 1166, 1.9 KB checked in by mattausch, 18 years ago (diff)
Line 
1#include "BoostPreprocessorThread.h"
2#include "Camera.h"
3#include "KdTree.h"
4#include "SceneGraph.h"
5#include "Preprocessor.h"
6#include <boost/thread/thread.hpp>
7
8namespace GtpVisibilityPreprocessor {
9
10
11BoostPreprocessorThread::BoostPreprocessorThread(Preprocessor *p):
12PreprocessorThread(p), mThread(NULL)
13{
14}
15
16
17void BoostPreprocessorThread::operator()()
18{
19        Main();
20}
21
22
23void BoostPreprocessorThread::Main()
24{
25        Camera camera;
26
27        if (0)
28        {
29                // camera.LookAtBox(mPreprocessor->mKdTree->GetBox());
30                //      camera.LookInBox(mPreprocessor->mKdTree->GetBox());
31                camera.SetPosition(Vector3(3473, 6.778, -1699));
32                camera.SetDirection(Vector3(-0.2432, 0, 0.97));
33                //      camera.SetPosition(Vector3(991.7, 187.8, -271));
34                //      camera.SetDirection(Vector3(0.9, 0, -0.4));
35
36                camera.SnapImage("camera.jpg", mPreprocessor->mKdTree, mPreprocessor->mSceneGraph);
37        }
38
39        if (0) {
40                camera.LookInBox(mPreprocessor->mKdTree->GetBox());
41                camera.SetPosition(camera.mPosition + Vector3(-250,0,-550));
42                camera.SnapImage("camera2.jpg", mPreprocessor->mKdTree, mPreprocessor->mSceneGraph);
43        }
44
45        if (0) {
46                camera.SetPosition( mPreprocessor->mKdTree->GetBox().Center() - Vector3(0,-100,0) );
47                camera.SetDirection(Vector3(1, 0, 0));
48                camera.SnapImage("camera3.jpg", mPreprocessor->mKdTree, mPreprocessor->mSceneGraph);
49        }
50
51        if (mPreprocessor->mComputeVisibility) {
52                mPreprocessor->ComputeVisibility();
53                //      mPreprocessor->ExportPreprocessedData("scene.vis");
54                mPreprocessor->PostProcessVisibility();
55        }
56
57        cerr << "Preprocessor main finished...\n";
58 
59}
60
61
62BoostPreprocessorThread::~BoostPreprocessorThread()
63{
64        cerr << "Boost Preprocessor thread destructor ... \n";
65        DEL_PTR(mThread);
66}
67
68
69void BoostPreprocessorThread::InitThread()
70{
71        mThread = new boost::thread(*this);
72}
73
74
75void BoostPreprocessorThread::RunThread()
76{
77        mThread->join();
78}
79 
80}
Note: See TracBrowser for help on using the repository browser.