Subversion Repositories seema-scanner

Rev

Rev 134 | Rev 139 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 134 Rev 137
Line 43... Line 43...
43
    // Create projector
43
    // Create projector
44
    int screenNum = settings.value("projector/screenNumber", 1).toInt();
44
    int screenNum = settings.value("projector/screenNumber", 1).toInt();
45
    if(screenNum != -1)
45
    if(screenNum != -1)
46
        projector = new ProjectorOpenGL(screenNum);
46
        projector = new ProjectorOpenGL(screenNum);
47
 
47
 
48
    unsigned int screenCols, screenRows;
-
 
49
    projector->getScreenRes(&screenCols, &screenRows);
-
 
50
 
-
 
51
    // Create rotation stage
48
    // Create rotation stage
52
    rotationStage = new RotationStage();
49
    rotationStage = new RotationStage();
53
 
50
 
54
    // Create Algorithm
51
    // Create Algorithm
-
 
52
    unsigned int screenCols, screenRows;
-
 
53
    projector->getScreenRes(&screenCols, &screenRows);
55
    codec = settings.value("algorithm", "GrayCode").toString();
54
    codec = settings.value("algorithm", "GrayCode").toString();
56
    if(codec == "GrayCode")
55
    if(codec == "GrayCode")
57
        algorithm = new AlgorithmGrayCode(screenCols, screenRows);
56
        algorithm = new AlgorithmGrayCode(screenCols, screenRows);
58
    else if(codec == "GrayCodeHorzVert")
57
    else if(codec == "GrayCodeHorzVert")
59
        algorithm = new AlgorithmGrayCodeHorzVert(screenCols, screenRows);
58
        algorithm = new AlgorithmGrayCodeHorzVert(screenCols, screenRows);
Line 64... Line 63...
64
    else if(codec == "LineShift")
63
    else if(codec == "LineShift")
65
        algorithm = new AlgorithmLineShift(screenCols, screenRows);
64
        algorithm = new AlgorithmLineShift(screenCols, screenRows);
66
    else
65
    else
67
        std::cerr << "SMCaptureWorker: invalid codec " << codec.toStdString() << std::endl;
66
        std::cerr << "SMCaptureWorker: invalid codec " << codec.toStdString() << std::endl;
68
 
67
 
69
 
-
 
70
    // Upload patterns to projector/GPU
68
    // Upload patterns to projector/GPU
71
    for(unsigned int i=0; i<algorithm->getNPatterns(); i++){
69
    for(unsigned int i=0; i<algorithm->getNPatterns(); i++){
72
        cv::Mat pattern = algorithm->getEncodingPattern(i);
70
        cv::Mat pattern = algorithm->getEncodingPattern(i);
73
        projector->setPattern(i, pattern.ptr(), pattern.cols, pattern.rows);
71
        projector->setPattern(i, pattern.ptr(), pattern.cols, pattern.rows);
74
    }
72
    }
Line 276... Line 274...
276
    working = false;
274
    working = false;
277
}
275
}
278
 
276
 
279
SMCaptureWorker::~SMCaptureWorker(){
277
SMCaptureWorker::~SMCaptureWorker(){
280
    delete projector;
278
    delete projector;
281
//    delete camera0;
279
    delete camera0;
282
//    delete camera1;
280
    delete camera1;
283
    delete rotationStage;
281
    delete rotationStage;
284
}
282
}