bool tarch::plotter::griddata::regular::CartesianGridArrayWriter::containsVertex( const tarch::la::Vector<2,double>& x ) const { tarch::la::Vector<3,double> x3D; x3D(0) = x(0); x3D(1) = x(1); x3D(2) = 0.0; return containsVertex(x3D); }
void CFlightVisualiser::drawCords(QPainter& painter, const QRect& fieldLimit) { Point3D zero3D(0, 0, 0), x3D(100, 0, 0), y3D(0, 100, 0), z3D(0, 0, 100); Point2D zeroPoint = getScreenPoint(zero3D, fieldLimit); Point2D x = getScreenPoint(x3D, fieldLimit); Point2D y = getScreenPoint(y3D, fieldLimit); Point2D z = getScreenPoint(z3D, fieldLimit); painter.setPen(QPen(QColor(), 1)); painter.drawLine(QPointF(zeroPoint), QPointF(x)); painter.drawText(QRectF(QPointF(x), QPointF(x.X() + 20, x.Y() + 20)), "X"); painter.drawLine(QPointF(zeroPoint), QPointF(y)); painter.drawText(QRectF(QPointF(y), QPointF(y.X() + 20, y.Y() + 20)), "Y"); painter.drawLine(QPointF(zeroPoint), QPointF(z)); painter.drawText(QRectF(QPointF(z), QPointF(z.X() + 20, z.Y() + 20)), "Z"); painter.setPen(Qt::SolidLine); const int distance = 1; std::vector<QPoint> frameVec = {QPoint(distance, distance), QPoint(distance, this->height() - distance), QPoint(distance, this->height() - distance), QPoint(this->width() - distance, this->height() - distance), QPoint(this->width() - distance, this->height() - distance), QPoint(this->width() - distance, distance), QPoint(this->width() - distance, distance), QPoint(distance, distance)}; QVector<QPoint> frameCords; for(const auto& p: frameVec) { frameCords.push_back(p); } painter.drawLines(frameCords); Rectangle3D max3dRect = getMaximumRect(); float xPosStart = max3dRect.minX; float yPosStart = max3dRect.minY; float xPosEnd = max3dRect.maxX; float yPosEnd = max3dRect.maxY; float xPos = xPosStart; float yPos = yPosStart; for(int i = 0; i < 11; ++i) { Point2D curXMinYWebPoint = getScreenPoint(Point3D(xPos, yPosStart, 0), fieldLimit); Point2D curXMaxYWebPoint = getScreenPoint(Point3D(xPos, yPosEnd, 0), fieldLimit); Point2D minXCurYWebPoint = getScreenPoint(Point3D(xPosStart, yPos, 0), fieldLimit); Point2D maxXCurYWebPoint = getScreenPoint(Point3D(xPosEnd, yPos, 0), fieldLimit); painter.drawLine(QPointF(curXMinYWebPoint.X(), curXMinYWebPoint.Y()), QPointF(curXMaxYWebPoint.X(), curXMaxYWebPoint.Y())); //x painter.drawLine(QPointF(minXCurYWebPoint.X(), minXCurYWebPoint.Y()), QPointF(maxXCurYWebPoint.X(), maxXCurYWebPoint.Y())); xPos += (xPosEnd - xPosStart) / 10; yPos += (yPosEnd - yPosStart) / 10; } }