Ignore:
Timestamp:
10/28/11 11:37:19 (13 years ago)
Author:
lyard
Message:
fixed a blur display bug
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/gui/RawEventsViewer/RawEventsViewer.cc

    r12302 r12310  
    4949    if (first < 0)
    5050        first = 5;
     51 //   if (second > 5)
     52 //       second = 0;
    5153    first = neighbors[pixel][first];
    5254    second = neighbors[pixel][second];
     
    7072    glColor3fv(color);
    7173}
     74void RawDataViewer::calcMidBlurColor(int pixel, int vertex)
     75{
     76    GLfloat color[3];
     77    int first, second;
     78    first = vertex-1;
     79    if (first < 0)
     80        first = 5;
     81    first = neighbors[pixel][first];
     82    for (int i=0;i<3;i++)
     83        color[i] = pixelsColor[pixel][i];
     84    float divide = 1;
     85    if (first != -1)
     86    {
     87        divide++;
     88        for (int i=0;i<3;i++)
     89            color[i] += pixelsColor[first][i];
     90    }
     91    for (int i=0;i<3;i++)
     92        color[i] /= divide;
     93    glColor3fv(color);
     94}
    7295/************************************************************
    7396 * DRAW BLURRY HEXAGON. draws a solid hexagon, with interpolated colours
     
    7598void RawDataViewer::drawBlurryHexagon(int index)
    7699{
     100//alternative mesh
     101/*    GLfloat color1[3];
     102    GLfloat color2[3];
     103    GLfloat color3[3];
     104    for (int i=0;i<3;i++)
     105        color1[i] = pixelsColor[index][i];
     106    glBegin(GL_TRIANGLES);
     107    for (int i=0;i<6;i++)
     108    {
     109        int first = i;
     110        int second = i+1;
     111        if (second == 6) second = 0;
     112        first = neighbors[index][first];
     113        second = neighbors[index][second];
     114        if (first == -1 || second == -1) continue;
     115        for (int j=0;j<3;j++)
     116        {
     117            color2[j] = pixelsColor[first][j];
     118            color3[j] = pixelsColor[second][j];
     119        }
     120        glColor3fv(color2);
     121        glVertex2fv(pixelsCoords[first]);
     122        glColor3fv(color1);
     123        glVertex2fv(pixelsCoords[index]);
     124        glColor3fv(color3);
     125        glVertex2fv(pixelsCoords[second]);
     126    }
     127    glEnd();
     128    return;*/
     129//per-pixel mesh
    77130    GLfloat color[3];
    78131    for (int i=0;i<3;i++)
     
    83136    glColor3fv(color);
    84137    glVertex2fv(pixelsCoords[index]);
     138/*
     139    calcMidBlurColor(index, 1);
     140    glVertex2f((verticesList[verticesIndices[index][0]][0] + verticesList[verticesIndices[index][1]][0])/2.f,
     141                   (verticesList[verticesIndices[index][0]][1] + verticesList[verticesIndices[index][1]][1])/2.f);
     142    glVertex2f((verticesList[verticesIndices[index][0]][0] + verticesList[verticesIndices[index][1]][0])/2.f,
     143                   (verticesList[verticesIndices[index][0]][1] + verticesList[verticesIndices[index][1]][1])/2.f);
     144    glColor3fv(color);
     145    glVertex2fv(pixelsCoords[index]);
     146*/
    85147    calcBlurColor(index, 1);
    86148    glVertex2fv(verticesList[verticesIndices[index][1]]);
     
    89151    glColor3fv(color);
    90152    glVertex2fv(pixelsCoords[index]);
     153/*
     154    calcMidBlurColor(index, 2);
     155    glVertex2f((verticesList[verticesIndices[index][1]][0] + verticesList[verticesIndices[index][2]][0])/2.f,
     156                   (verticesList[verticesIndices[index][1]][1] + verticesList[verticesIndices[index][2]][1])/2.f);
     157    glVertex2f((verticesList[verticesIndices[index][1]][0] + verticesList[verticesIndices[index][2]][0])/2.f,
     158                   (verticesList[verticesIndices[index][1]][1] + verticesList[verticesIndices[index][2]][1])/2.f);
     159    glColor3fv(color);
     160    glVertex2fv(pixelsCoords[index]);
     161*/
    91162    calcBlurColor(index, 2);
    92163    glVertex2fv(verticesList[verticesIndices[index][2]]);
     
    95166    glColor3fv(color);
    96167    glVertex2fv(pixelsCoords[index]);
     168/*
     169    calcMidBlurColor(index, 3);
     170    glVertex2f((verticesList[verticesIndices[index][2]][0] + verticesList[verticesIndices[index][3]][0])/2.f,
     171                   (verticesList[verticesIndices[index][2]][1] + verticesList[verticesIndices[index][3]][1])/2.f);
     172    glVertex2f((verticesList[verticesIndices[index][2]][0] + verticesList[verticesIndices[index][3]][0])/2.f,
     173                   (verticesList[verticesIndices[index][2]][1] + verticesList[verticesIndices[index][3]][1])/2.f);
     174    glColor3fv(color);
     175    glVertex2fv(pixelsCoords[index]);
     176*/
    97177    calcBlurColor(index, 3);
    98178    glVertex2fv(verticesList[verticesIndices[index][3]]);
     
    101181    glColor3fv(color);
    102182    glVertex2fv(pixelsCoords[index]);
     183/*
     184    calcMidBlurColor(index, 4);
     185    glVertex2f((verticesList[verticesIndices[index][3]][0] + verticesList[verticesIndices[index][4]][0])/2.f,
     186                   (verticesList[verticesIndices[index][3]][1] + verticesList[verticesIndices[index][4]][1])/2.f);
     187    glVertex2f((verticesList[verticesIndices[index][3]][0] + verticesList[verticesIndices[index][4]][0])/2.f,
     188                   (verticesList[verticesIndices[index][3]][1] + verticesList[verticesIndices[index][4]][1])/2.f);
     189    glColor3fv(color);
     190    glVertex2fv(pixelsCoords[index]);
     191*/
    103192    calcBlurColor(index, 4);
    104193    glVertex2fv(verticesList[verticesIndices[index][4]]);
     
    107196    glColor3fv(color);
    108197    glVertex2fv(pixelsCoords[index]);
     198/*
     199    calcMidBlurColor(index, 5);
     200    glVertex2f((verticesList[verticesIndices[index][4]][0] + verticesList[verticesIndices[index][5]][0])/2.f,
     201                   (verticesList[verticesIndices[index][4]][1] + verticesList[verticesIndices[index][5]][1])/2.f);
     202    glVertex2f((verticesList[verticesIndices[index][4]][0] + verticesList[verticesIndices[index][5]][0])/2.f,
     203                   (verticesList[verticesIndices[index][4]][1] + verticesList[verticesIndices[index][5]][1])/2.f);
     204    glColor3fv(color);
     205    glVertex2fv(pixelsCoords[index]);
     206*/
    109207    calcBlurColor(index, 5);
    110208    glVertex2fv(verticesList[verticesIndices[index][5]]);
     
    113211    glColor3fv(color);
    114212    glVertex2fv(pixelsCoords[index]);
     213/*
     214    calcMidBlurColor(index, 0);
     215    glVertex2f((verticesList[verticesIndices[index][5]][0] + verticesList[verticesIndices[index][0]][0])/2.f,
     216                   (verticesList[verticesIndices[index][5]][1] + verticesList[verticesIndices[index][0]][1])/2.f);
     217    glVertex2f((verticesList[verticesIndices[index][5]][0] + verticesList[verticesIndices[index][0]][0])/2.f,
     218                   (verticesList[verticesIndices[index][5]][1] + verticesList[verticesIndices[index][0]][1])/2.f);
     219    glColor3fv(color);
     220    glVertex2fv(pixelsCoords[index]);
     221*/
    115222    calcBlurColor(index, 0);
    116223    glVertex2fv(verticesList[verticesIndices[index][0]]);
     
    383490    assignPixelMap(mypMap);
    384491    buildVerticesList();
     492//    for (int i=0;i<1440;i++)
     493//        updateNeighbors(i);
    385494
    386495    for (int i=0;i<160;i++)
     
    490599        cy > bboxMax[1])
    491600        return;
    492     whichSlice = (cx - bboxMin[0])*1024/(bboxMax[0] - bboxMin[0]);
     601    whichSlice = (cx - bboxMin[0])*nRoi/(bboxMax[0] - bboxMin[0]);
    493602    emit signalCurrentSlice(whichSlice);
    494603}
Note: See TracChangeset for help on using the changeset viewer.