39 #include <QtCore/QMutex> 43 namespace core{
class ImgBase; }
162 void setAutoResetQueue(
bool on);
199 void image(core::ImgBase *image,
float x,
float y,
float w,
float h);
203 this->image(image,r.x,r.y,r.width,r.height);
216 void image(
const core::ImgBase *image,
const float a[2],
const float b[2],
217 const float c[2],
const float d[2]);
225 void text(std::string
text,
float x,
float y,
float w,
float h,
float fontsize=10);
242 void point(
float x,
float y);
246 this->point(p.x,p.y);
251 this->point(p.
x,p.
y);
255 template<
class VectorType>
257 icl_given_type_has_no_int_index_operator(p);
258 this->point(p[0],p[1]);
265 void points(
const std::vector<utils::Point> &pts,
int xfac=1,
int yfac=1);
268 void points(
const std::vector<utils::Point32f> &pts);
271 template<
class VectorType>
272 void point(
const std::vector<VectorType> &points){
273 icl_given_type_has_no_int_index_operator(points[0]);
274 std::vector<utils::Point32f> tmp(points.size());
275 for(
unsigned int i=0;i<points.size();++i) tmp[i] =
utils::Point32f(points[i][0],points[i][1]);
284 void linestrip(
const std::vector<utils::Point> &pts,
bool closeLoop=
true,
int xfac=1,
int yfac=1);
287 void linestrip(
const std::vector<utils::Point32f> &pts,
bool closeLoop=
true);
291 void line(
float x1,
float y1,
float x2,
float y2);
297 template<
class VectorTypeA,
class VectorTypeB>
298 void line(
const VectorTypeA &a,
const VectorTypeB &b){
299 icl_given_type_has_no_int_index_operator(a);
300 icl_given_type_has_no_int_index_operator(b);
301 this->
line(a[0],a[1],b[0],b[1]);
305 void arrow(
float ax,
float ay,
float bx,
float by,
float capsize=10);
311 void rect(
float x,
float y,
float w,
float h);
320 void triangle(
float x1,
float y1,
float x2,
float y2,
float x3,
float y3);
326 void quad(
float x1,
float y1,
float x2,
float y2,
float x3,
float y3,
float x4,
float y4);
332 void ellipse(
float x,
float y,
float w,
float h);
341 void circle(
float cx,
float cy,
float r);
347 void polygon(
const std::vector<utils::Point32f> &ps);
350 void polygon(
const std::vector<utils::Point> &ps);
353 void grid(
const utils::Point32f *points,
int nx,
int ny,
bool rowMajor=
true);
357 void sym(
float x,
float y, Sym s);
379 void sym(
float x,
float y,
char sym){
380 if(sym ==
'r') this->sym(x,y,symRect);
381 else if(sym ==
'+') this->sym(x,y,symPlus);
382 else if(sym ==
't') this->sym(x,y,symTriangle);
383 else if(sym ==
'o') this->sym(x,y,symCircle);
384 else this->sym(x,y,symCross);
389 this->sym(p.
x,p.
y,sym);
393 void symsize(
float w,
float h=-1);
396 void linewidth(
float w);
399 void pointsize(
float s);
403 void textangle(
float angleDeg);
415 void color(
float r,
float g,
float b,
float alpha = 255);
422 void fill(
float r,
float g,
float b,
float alpha = 255);
425 template<
class T,
unsigned int COLS>
427 color((
float)v[0],(
float)v[1],(
float)v[2]);
431 template<
class T,
unsigned int COLS>
433 color((
float)v[0],(
float)v[1],(
float)v[2],(
float)v[3]);
437 template<
class T,
unsigned int COLS>
439 fill((
float)v[0],(
float)v[1],(
float)v[2]);
443 template<
class T,
unsigned int COLS>
445 fill((
float)v[0],(
float)v[1],(
float)v[2],(
float)v[3]);
462 virtual void initializeCustomPaintEvent(
PaintEngine *e);
465 virtual void finishCustomPaintEvent(
PaintEngine *e);
477 virtual void swapQueues();
481 std::vector<DrawCommand*> *m_queues[2];
For a state log panel.
Definition: GUIComponents.h:322
ICLQt_API void polygon(ImgQ &image, const std::vector< utils::Point > &corners)
draws a polygon (constructed out of linestrips
Powerful and highly flexible matrix class implementation.
Definition: FixedMatrix.h:172
undocument this line if you encounter any issues!
Definition: Any.h:37
ICLQt_API void triangle(ImgQ &image, int x1, int y1, int x2, int y2, int x3, int y3)
draws a triangle into an image
ICLQt_API void fontsize(int size)
sets up current fontsize (only available with Qt-Support)
float y
y position of this point
Definition: Point32f.h:48
ICLQt_API void text(ImgQ &image, int x, int y, const string &text)
renders a text into an image (only available with Qt-Support)
ICLQt_API void line(ImgQ &image, int x1, int y1, int x2, int y2)
draws a line into an image
Floating point precision implementation of the Rect class.
Definition: Rect32f.h:45
ICLQt_API void linestrip(ImgQ &image, const std::vector< utils::Point > &pts, bool closeLoop=true)
draws a strip of connected lines
ICLQt_API void fill(float r, float g=-1, float b=-1, float alpha=255)
sets the current fill color to given r,g,b,alpha value
ICLQt_API ImgQ abs(const ImgQ &image)
calls abs ( each pixel)
#define ICL_DEPRECATED
Definition: Macros.h:249
Abstract class for visualization tasks.
Definition: VisualizationDescription.h:73
Single precission 3D Vectors Point class of the ICL.
Definition: Point32f.h:41
#define ICLQt_API
Definition: CompatMacros.h:178
Point class of the ICL used e.g. for the Images ROI offset.
Definition: Point.h:58
ICLQt_API void color(float r, float g=-1, float b=-1, float alpha=255)
sets the current color to given r,g,b,alpha value
float x
x position of this point
Definition: Point32f.h:45
pure virtual Paint engine interface
Definition: PaintEngine.h:49
ICLQt_API void circle(ImgQ &image, int x, int y, int r)
renders a filled circle into an image
ICLQt_API void rect(ImgQ &image, int x, int y, int w, int h, int rounding=0)
draws a rect into an image
Rectangle class of the ICL used e.g. for the Images ROI-rect.
Definition: Rect.h:95
ImgBase is the Image-Interface class that provides save access to underlying Img-template .
Definition: ImgBase.h:131