se2ez
se2ez::gui::RenderArea Class Reference

The canvas widget. It contains all the drawing functions as well as all the general settings for drawing ( Origin, scale etc..) More...

#include <renderarea.h>

Inheritance diagram for se2ez::gui::RenderArea:
[legend]

Classes

class  CollideDrawer
 
class  GeometryDrawer
 
class  SignedDistanceDrawer
 

Public Member Functions

 RenderArea (QWidget *parent, MainWindow *mainwindow)
 
 ~RenderArea ()
 
void drawFrame (QPainter &painter, QString name="")
 
void drawAllFrames (QPainter &painter, RobotPtr robot, StatePtr state)
 
void drawGeometry (QPainter &painter, RobotPtr robot, StatePtr state, GeometryDrawerPtr drawer=nullptr)
 
void setOriginX (double x)
 
void setOriginY (double y)
 
void setScale (double scale)
 
void toRobot (int xin, int yin, double &xout, double &yout)
 
void toScreen (double xin, double yin, int &xout, int &yout)
 
void takeScreenshot (const std::string &file)
 
void paint (bool force=false)
 
bool didPaint ()
 

Public Attributes

friend GeometryDrawer
 

Protected Member Functions

void mousePressEvent (QMouseEvent *event) override
 
void mouseMoveEvent (QMouseEvent *event) override
 
void mouseReleaseEvent (QMouseEvent *event) override
 
void wheelEvent (QWheelEvent *event) override
 

Private Member Functions

void paintEvent (QPaintEvent *event) override
 
void bottomLeftTransform (QPainter &painter)
 
void drawGrid (QPainter &painter)
 

Private Attributes

const double RATIO {10.}
 
const double ROBOT {50.}
 
const double SCALE_BOUNDS [2] {0.25, 8.0}
 
double scale_ {1}
 
double origx_
 
double origy_
 
double x_ {10.}
 
double y_ {10.}
 
bool paint_ {false}
 
Ui::RenderArea * ui_
 
MainWindowmainwidget_
 
QPixmap pixmap_
 
QRect xBoundingRect_
 
QRect yBoundingRect_
 
bool panning_
 
QPoint click_
 

Detailed Description

The canvas widget. It contains all the drawing functions as well as all the general settings for drawing ( Origin, scale etc..)

Definition at line 48 of file renderarea.h.

Constructor & Destructor Documentation

◆ RenderArea()

gui::RenderArea::RenderArea ( QWidget *  parent,
MainWindow mainwindow 
)

Render Area

Definition at line 136 of file renderarea.cpp.

◆ ~RenderArea()

gui::RenderArea::~RenderArea ( )

Definition at line 154 of file renderarea.cpp.

Member Function Documentation

◆ bottomLeftTransform()

void gui::RenderArea::bottomLeftTransform ( QPainter &  painter)
private

Definition at line 282 of file renderarea.cpp.

◆ didPaint()

bool gui::RenderArea::didPaint ( )

Definition at line 366 of file renderarea.cpp.

◆ drawAllFrames()

void gui::RenderArea::drawAllFrames ( QPainter &  painter,
RobotPtr  robot,
StatePtr  state 
)

Definition at line 195 of file renderarea.cpp.

◆ drawFrame()

void gui::RenderArea::drawFrame ( QPainter &  painter,
QString  name = "" 
)

Definition at line 393 of file renderarea.cpp.

◆ drawGeometry()

void gui::RenderArea::drawGeometry ( QPainter &  painter,
RobotPtr  robot,
StatePtr  state,
GeometryDrawerPtr  drawer = nullptr 
)

Definition at line 211 of file renderarea.cpp.

◆ drawGrid()

void gui::RenderArea::drawGrid ( QPainter &  painter)
private

Definition at line 292 of file renderarea.cpp.

◆ mouseMoveEvent()

void gui::RenderArea::mouseMoveEvent ( QMouseEvent *  event)
overrideprotected

Definition at line 456 of file renderarea.cpp.

◆ mousePressEvent()

void gui::RenderArea::mousePressEvent ( QMouseEvent *  event)
overrideprotected

Definition at line 437 of file renderarea.cpp.

◆ mouseReleaseEvent()

void gui::RenderArea::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotected

Definition at line 483 of file renderarea.cpp.

◆ paint()

void gui::RenderArea::paint ( bool  force = false)

Definition at line 348 of file renderarea.cpp.

◆ paintEvent()

void gui::RenderArea::paintEvent ( QPaintEvent *  event)
overrideprivate

Definition at line 371 of file renderarea.cpp.

◆ setOriginX()

void gui::RenderArea::setOriginX ( double  x)

Definition at line 159 of file renderarea.cpp.

◆ setOriginY()

void gui::RenderArea::setOriginY ( double  y)

Definition at line 169 of file renderarea.cpp.

◆ setScale()

void gui::RenderArea::setScale ( double  scale)

Definition at line 179 of file renderarea.cpp.

◆ takeScreenshot()

void gui::RenderArea::takeScreenshot ( const std::string file)

Definition at line 500 of file renderarea.cpp.

◆ toRobot()

void gui::RenderArea::toRobot ( int  xin,
int  yin,
double &  xout,
double &  yout 
)

Definition at line 425 of file renderarea.cpp.

◆ toScreen()

void gui::RenderArea::toScreen ( double  xin,
double  yin,
int &  xout,
int &  yout 
)

Definition at line 431 of file renderarea.cpp.

◆ wheelEvent()

void gui::RenderArea::wheelEvent ( QWheelEvent *  event)
overrideprotected

Definition at line 491 of file renderarea.cpp.

Member Data Documentation

◆ click_

QPoint se2ez::gui::RenderArea::click_
private

Definition at line 152 of file renderarea.h.

◆ GeometryDrawer

Definition at line 54 of file renderarea.h.

◆ mainwidget_

MainWindow* se2ez::gui::RenderArea::mainwidget_
private

Definition at line 144 of file renderarea.h.

◆ origx_

double se2ez::gui::RenderArea::origx_
private

Definition at line 136 of file renderarea.h.

◆ origy_

double se2ez::gui::RenderArea::origy_
private

Definition at line 137 of file renderarea.h.

◆ paint_

bool se2ez::gui::RenderArea::paint_ {false}
private

Definition at line 141 of file renderarea.h.

◆ panning_

bool se2ez::gui::RenderArea::panning_
private

Definition at line 151 of file renderarea.h.

◆ pixmap_

QPixmap se2ez::gui::RenderArea::pixmap_
private

Definition at line 146 of file renderarea.h.

◆ RATIO

const double se2ez::gui::RenderArea::RATIO {10.}
private

Definition at line 131 of file renderarea.h.

◆ ROBOT

const double se2ez::gui::RenderArea::ROBOT {50.}
private

Definition at line 132 of file renderarea.h.

◆ scale_

double se2ez::gui::RenderArea::scale_ {1}
private

Definition at line 135 of file renderarea.h.

◆ SCALE_BOUNDS

const double se2ez::gui::RenderArea::SCALE_BOUNDS[2] {0.25, 8.0}
private

Definition at line 133 of file renderarea.h.

◆ ui_

Ui::RenderArea* se2ez::gui::RenderArea::ui_
private

Definition at line 143 of file renderarea.h.

◆ x_

double se2ez::gui::RenderArea::x_ {10.}
private

Definition at line 138 of file renderarea.h.

◆ xBoundingRect_

QRect se2ez::gui::RenderArea::xBoundingRect_
private

Definition at line 148 of file renderarea.h.

◆ y_

double se2ez::gui::RenderArea::y_ {10.}
private

Definition at line 139 of file renderarea.h.

◆ yBoundingRect_

QRect se2ez::gui::RenderArea::yBoundingRect_
private

Definition at line 149 of file renderarea.h.


The documentation for this class was generated from the following files: