10 #include <QtCore/QtPlugin> 15 img(10, 10, QImage::Format_RGB888)
17 resize(width(),height());
57 double bearing = angle/(M_PI*2.0)*6399.0;
68 double bearing = angle;
69 double newScale = ((timeBetweenBins*640.0)*1e-9);
71 bearing = angle/(M_PI*2.0)*6399.0;
72 newScale = timeBetweenBins*size/2.0;
74 newScale = (newScale*1500.0)/size;
79 printf(
"new Scale: %f\n",newScale);
80 window->
reset(newScale);
83 std::vector<uint8_t> data;
84 for(
int i=0;i<size;i++){
85 data.push_back(data_[i]);
90 if(
img.size().width() != size*2.0){
92 img = QImage(size*2.0,size*2.0,QImage::Format_RGB888);
94 printf(
"Creating new Image with: %i,%i\n",
img.size().width(),
img.size().height());
105 for(
int j=0;j<end;j++){
107 if(i < 0 || i > 6399){
110 paintLine(((
double)i)/6399*2.0*M_PI,(
const uint8_t*)data_,(
size_t)size);
115 resize(width(),height());
120 if(distance >
img.size().width()){
123 QPainter painter(&
img);
124 double s = sin(bearing);
125 double c = cos(bearing);
126 int x = (
img.size().width()/2.0)+(c*distance);
127 int y = (
img.size().width()/2.0)+(s*distance);
129 painter.setPen(QColor(255,255,0));
130 painter.drawEllipse(QPoint(x,y),5,5);
136 QPainter painter(&
img);
137 painter.setPen(QColor(255,0,0));
138 painter.drawEllipse(QPoint(posX,posY),sizeX,sizeY);
143 double s = sin(bearing);
144 double c = cos(bearing);
145 for (
size_t i = 0; i < len; i++)
146 img.setPixel((len) + (c * i), (len) + (s * i), qRgb(data[i], data[i], data[i]));
158 if(window)window->
setPosition(posX,posY,sigmaX,sigmaY);
169 QPainter painter(
this);
170 painter.drawImage(0, 0,
img);
void setSonarScan(const char *data, int size, double angle, double timeBetweenBins, bool fromBearing=false)
void setOrientation(const double orientation)
void setWallDist(int bearing, int dist, int dist2)
void setPosition(double posX, double posY, double sigmaX, double sigmaY)
void setOpenGL(bool flag)
void paintLine(double bearing, const uint8_t *data, size_t len)
void reset(double currentScale)
SonarView(QWidget *parent=NULL, bool use_openGL=true)
void setOrientation(const double orientation)
void paintEvent(QPaintEvent *event)
void setDistance(double distance, double angle)
void paintPos(int posX, int posY, int sizeX=10, int sizeY=10)
ImageViewOldGL * image_view_gl
void addImage(const QImage &image)
void paintReference(double bearing, int distance)
void keyPressEvent(QKeyEvent *event)
void setData(const std::vector< uint8_t > data, int bearing)
void setPosition(int xRot, int yRot, int zRot, int xMove, int yMove, int zMove, float zoom, int width, int height)
void keyPressEvent(QKeyEvent *)