cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
svlOverlayObjects.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Balazs Vagvolgyi
7  Created on: 2010
8 
9  (C) Copyright 2006-2010 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 
20 */
21 
22 #ifndef _svlOverlayObjects_h
23 #define _svlOverlayObjects_h
24 
30 
31 // Always include last!
33 
34 
35 // Forward declarations
36 class svlBufferImage;
37 
38 
40 {
41 friend class svlFilterImageOverlay;
42 
43 typedef enum { _DoNotRemove, _Remove, _RemoveAndDelete } RemoveState;
44 
45 public:
46  svlOverlay();
47  svlOverlay(unsigned int videoch,
48  bool visible);
49  virtual ~svlOverlay();
50 
51  void SetVideoChannel(unsigned int videoch);
52  void SetVisible(bool visible);
53  unsigned int GetVideoChannel() const;
54  bool GetVisible() const;
55  bool IsUsed() const;
56 
57  void SetTransform(const vct3x3 & transform, const double timestamp = -1.0);
58  double GetTransformTimestamp() const;
59  void SetTransformID(int ID);
60  int GetTransformID() const;
61  bool IsTransformed() const;
62  void SetTransformSynchronized(bool transform_synchronized);
63  bool GetTransformSynchronized() const;
64 
65 protected:
66  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input) = 0;
67 
68 private:
69  void Draw(svlSampleImage* bgimage, svlSample* input);
70 
71 protected:
72  unsigned int VideoCh;
73  bool Visible;
79 
80 private:
81  svlOverlay* Next;
82  svlOverlay* Prev;
83  bool Used;
84  RemoveState MarkedForRemoval;
85 };
86 
87 
89 {
90 friend class svlFilterImageOverlay;
91 
92 public:
94  svlOverlayInput(const std::string & inputname);
95  virtual ~svlOverlayInput();
96 
97  void SetInputName(const std::string & inputname);
98  const std::string& GetInputName() const;
99  void SetInputSynchronized(bool input_synchronized);
100  bool GetInputSynchronized() const;
101 
102 protected:
103  virtual bool IsInputTypeValid(svlStreamType inputtype) = 0;
104 
105 protected:
106  std::string InputName;
108 
109 private:
110  svlFilterInput* Input;
111  svlSample* SampleCache;
112 };
113 
114 
116 {
117 public:
118  svlOverlayImage();
119  svlOverlayImage(unsigned int videoch,
120  bool visible,
121  const std::string & inputname,
122  unsigned int inputch,
123  vctInt2 pos,
124  unsigned char alpha);
125  virtual ~svlOverlayImage();
126 
127  void SetInputChannel(unsigned int inputch);
128  void SetPosition(vctInt2 pos);
129  void SetPosition(int x, int y);
130  void SetAlpha(unsigned char alpha);
131  void SetEnableQuadMapping(bool enable);
132  void SetQuadMapping(vctInt2 ul, vctInt2 ur, vctInt2 ll, vctInt2 lr);
133  void SetQuadMapping(int xul, int yul, int xur, int yur, int xll, int yll, int xlr, int ylr);
134 
135  unsigned int GetInputChannel() const;
136  vctInt2 GetPosition() const;
137  unsigned char GetAlpha() const;
138  bool GetEnableQuadMapping() const;
139 
140 protected:
141  virtual bool IsInputTypeValid(svlStreamType inputtype);
142  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
143 
144 private:
145  unsigned int InputCh;
146  vctInt2 Pos;
147  unsigned char Alpha;
148  bool QuadMappingEnabled;
149  bool QuadMappingSet;
150  vctInt2 QuadUL, QuadUR, QuadLL, QuadLR;
151  svlDraw::Internals WarpInternals;
152 };
153 
154 
156 {
157 public:
159  svlOverlayTargets(unsigned int videoch,
160  bool visible,
161  const std::string & inputname,
162  unsigned int inputch,
163  bool confcoloring,
164  bool crosshair,
165  unsigned int size);
166  virtual ~svlOverlayTargets();
167 
168  void SetInputChannel(unsigned int inputch);
169  void SetConfidenceColoring(bool enable);
170  void SetCrosshair(bool enable);
171  void SetSize(unsigned int size);
172 
173  unsigned int GetInputChannel() const;
174  bool GetConfidenceColoring() const;
175  bool GetCrosshair() const;
176  unsigned int GetSize() const;
177 
178 protected:
179  virtual bool IsInputTypeValid(svlStreamType inputtype);
180  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
181 
182 private:
183  unsigned int InputCh;
184  bool ConfidenceColoring;
185  bool Crosshair;
186  unsigned int TargetSize;
187 };
188 
189 
191 {
192 public:
193  svlOverlayBlobs();
194  svlOverlayBlobs(unsigned int videoch,
195  bool visible,
196  const std::string & inputname,
197  unsigned int inputch,
198  bool draw_id = false);
199  virtual ~svlOverlayBlobs();
200 
201  void SetInputChannel(unsigned int inputch);
202  void SetDrawID(bool enable);
203 
204  unsigned int GetInputChannel() const;
205  bool GetDrawID() const;
206 
207 protected:
208  virtual bool IsInputTypeValid(svlStreamType inputtype);
209  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
210 
211 private:
212  unsigned int InputCh;
213  bool DrawID;
214 };
215 
216 
218 {
219 public:
221  svlOverlayToolTips(unsigned int videoch,
222  bool visible,
223  const std::string & inputname,
224  unsigned int inputch,
225  unsigned int thickness,
226  unsigned int length,
227  svlRGB color);
228  virtual ~svlOverlayToolTips();
229 
230  void SetInputChannel(unsigned int inputch);
231  void SetThickness(unsigned int thickness);
232  void SetLength(unsigned int length);
233  void SetColor(svlRGB color);
234 
235  unsigned int GetInputChannel() const;
236  unsigned int GetThickness() const;
237  unsigned int GetLength() const;
238  svlRGB GetColor() const;
239 
240 protected:
241  virtual bool IsInputTypeValid(svlStreamType inputtype);
242  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
243 
244 private:
245  unsigned int InputCh;
246  unsigned int Thickness;
247  unsigned int Length;
248  svlRGB Color;
249 };
250 
251 
253 {
254 public:
256  svlOverlayStaticImage(unsigned int videoch,
257  bool visible,
258  const svlSampleImageRGB & image,
259  vctInt2 pos,
260  unsigned char alpha);
261  svlOverlayStaticImage(unsigned int videoch,
262  bool visible,
263  const svlSampleImageRGBStereo & image,
264  unsigned int imagech,
265  vctInt2 pos,
266  unsigned char alpha);
267  virtual ~svlOverlayStaticImage();
268 
269  void SetImage(const svlSampleImageRGB & image);
270  void SetImage(const svlSampleImageRGBStereo & image, unsigned int imagech);
271  void SetPosition(vctInt2 pos);
272  void SetPosition(int x, int y);
273  void SetAlpha(unsigned char alpha);
274  void SetEnableQuadMapping(bool enable);
275  void SetQuadMapping(vctInt2 ul, vctInt2 ur, vctInt2 ll, vctInt2 lr);
276  void SetQuadMapping(int xul, int yul, int xur, int yur, int xll, int yll, int xlr, int ylr);
277 
278  vctInt2 GetPosition() const;
279  unsigned char GetAlpha() const;
280  bool GetEnableQuadMapping() const;
281 
282 protected:
283  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
284 
285 private:
286  svlBufferImage* Buffer;
287  vctInt2 Pos;
288  unsigned char Alpha;
289  bool QuadMappingEnabled;
290  bool QuadMappingSet;
291  vctInt2 QuadUL, QuadUR, QuadLL, QuadLR;
292  svlDraw::Internals WarpInternals;
293 };
294 
295 
297 {
298 public:
300  svlOverlayStaticText(unsigned int videoch,
301  bool visible,
302  const std::string & text,
303  svlRect rect,
304  double fontsize,
305  svlRGB txtcolor);
306  svlOverlayStaticText(unsigned int videoch,
307  bool visible,
308  const std::string & text,
309  svlRect rect,
310  double fontsize,
311  svlRGB txtcolor,
312  svlRGB bgcolor);
313  virtual ~svlOverlayStaticText();
314 
315  void SetText(const std::string & text);
316  void SetRect(svlRect rect);
317  void SetRect(int left, int top, int right, int bottom);
318  void SetFontSize(double size);
319  void SetTextColor(svlRGB txtcolor);
320  void SetBackgroundColor(svlRGB bgcolor);
321  void SetBackground(bool enable);
322 
323  const std::string & GetText() const;
324  svlRect GetRect() const;
325  void GetRect(int & left, int & top, int & right, int & bottom) const;
326  double GetFontSize() const;
327  svlRGB GetTextColor() const;
328  svlRGB GetBackgroundColor() const;
329  bool GetBackground() const;
330 
331  svlRect GetTextSize(const std::string & text);
332 
333 protected:
334  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
335 
336 private:
337  std::string Text;
338  svlRect Rect;
339  double FontSize;
340  svlRGB TxtColor;
341  svlRGB BGColor;
342  bool Background;
343 #if CISST_SVL_HAS_OPENCV
344  CvFont Font;
345 #endif // CISST_SVL_HAS_OPENCV
346  bool FontChanged;
347  int Baseline;
348 };
349 
350 
352 {
353 public:
354  svlOverlayText();
355  svlOverlayText(unsigned int videoch,
356  bool visible,
357  const std::string & inputname,
358  svlRect rect,
359  double fontsize,
360  svlRGB txtcolor);
361  svlOverlayText(unsigned int videoch,
362  bool visible,
363  const std::string & inputname,
364  svlRect rect,
365  double fontsize,
366  svlRGB txtcolor,
367  svlRGB bgcolor);
368  virtual ~svlOverlayText();
369 
370  void SetRect(svlRect rect);
371  void SetRect(int left, int top, int right, int bottom);
372  void SetFontSize(double size);
373  void SetTextColor(svlRGB txtcolor);
374  void SetBackgroundColor(svlRGB bgcolor);
375  void SetBackground(bool enable);
376 
377  svlRect GetRect() const;
378  void GetRect(int & left, int & top, int & right, int & bottom) const;
379  double GetFontSize() const;
380  svlRGB GetTextColor() const;
381  svlRGB GetBackgroundColor() const;
382  bool GetBackground() const;
383 
384  svlRect GetTextSize(const std::string & text);
385 
386 protected:
387  virtual bool IsInputTypeValid(svlStreamType inputtype);
388  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
389 
390 private:
391  svlRect Rect;
392  double FontSize;
393  svlRGB TxtColor;
394  svlRGB BGColor;
395  bool Background;
396 #if CISST_SVL_HAS_OPENCV
397  CvFont Font;
398 #endif // CISST_SVL_HAS_OPENCV
399  bool FontChanged;
400  int Baseline;
401 };
402 
403 
405 {
406 public:
408  svlOverlayStaticRect(unsigned int videoch,
409  bool visible,
410  const svlRect & rect,
411  const svlRGB & color,
412  bool fill = true);
413  virtual ~svlOverlayStaticRect();
414 
415  void SetRect(const svlRect & rect);
416  void SetRect(int left, int top, int right, int bottom);
417  void SetColor(const svlRGB & color);
418  void SetFill(bool fill);
419 
420  svlRect GetRect() const;
421  void GetRect(int & left, int & top, int & right, int & bottom) const;
422  svlRGB GetColor() const;
423  bool GetFill() const;
424 
425 protected:
426  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
427 
428 private:
429  svlRect Rect;
430  svlRGB Color;
431  bool Fill;
432  svlDraw::Internals* DrawInternals;
433 };
434 
435 
437 {
438 public:
440  svlOverlayStaticEllipse(unsigned int videoch,
441  bool visible,
442  const svlEllipse & ellipse,
443  const svlRGB & color,
444  bool fill = true);
445  svlOverlayStaticEllipse(unsigned int videoch,
446  bool visible,
447  const svlPoint2D & center,
448  int radius_horiz,
449  int radius_vert,
450  double angle,
451  const svlRGB & color,
452  bool fill = true);
453  svlOverlayStaticEllipse(unsigned int videoch,
454  bool visible,
455  const svlPoint2D & center,
456  int radius,
457  const svlRGB & color,
458  bool fill = true);
459  virtual ~svlOverlayStaticEllipse();
460 
461  void SetEllipse(const svlEllipse & ellipse);
462 
463  template <class _Type>
465  {
466  Ellipse.cx = static_cast<int>(center[0]);
467  Ellipse.cy = static_cast<int>(center[1]);
468  }
469 
470  void SetCenter(const svlPoint2D & center);
471  void SetRadius(const int radius_horiz, const int radius_vert);
472  void SetRadius(const int radius);
473  void SetAngle(const double angle);
474  void SetThickness(unsigned int thickness);
475  void SetColor(const svlRGB & color);
476  void SetFill(bool fill);
477 
478  svlEllipse GetEllipse() const;
479  svlPoint2D GetCenter() const;
480  void GetRadius(int & radius_horiz, int & radius_vert) const;
481  double GetAngle() const;
482  unsigned int GetThickness();
483  svlRGB GetColor() const;
484  bool GetFill() const;
485 
486 protected:
487  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
488 
489 private:
491  unsigned int Thickness;
492  svlRGB Color;
493  bool Fill;
494 };
495 
496 
498 {
499 public:
501  svlOverlayStaticTriangle(unsigned int videoch,
502  bool visible,
503  const svlPoint2D corner1,
504  const svlPoint2D corner2,
505  const svlPoint2D corner3,
506  svlRGB color,
507  bool fill = true);
508  svlOverlayStaticTriangle(unsigned int videoch,
509  bool visible,
510  const int x1, const int y1,
511  const int x2, const int y2,
512  const int x3, const int y3,
513  svlRGB color,
514  bool fill = true);
515  virtual ~svlOverlayStaticTriangle();
516 
517  void SetCorners(const svlPoint2D corner1,
518  const svlPoint2D corner2,
519  const svlPoint2D corner3);
520  void SetCorners(const int x1, const int y1,
521  const int x2, const int y2,
522  const int x3, const int y3);
523  void SetColor(svlRGB color);
524  void SetFill(bool fill);
525 
526  void GetCorners(svlPoint2D& corner1,
527  svlPoint2D& corner2,
528  svlPoint2D& corner3) const;
529  void GetCorners(int& x1, int& y1,
530  int& x2, int& y2,
531  int& x3, int& y3) const;
532  svlRGB GetColor() const;
533  bool GetFill() const;
534 
535 protected:
536  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
537 
538 private:
539  svlPoint2D Corner1;
540  svlPoint2D Corner2;
541  svlPoint2D Corner3;
542  svlRGB Color;
543  bool Fill;
544  svlDraw::Internals* DrawInternals;
545 };
546 
547 
549 {
550 public:
551  svlOverlayPoly();
552  svlOverlayPoly(unsigned int videoch,
553  bool visible,
554  const std::string & inputname,
555  svlRGB color);
556  svlOverlayPoly(unsigned int videoch,
557  bool visible,
558  const std::string & inputname,
559  svlRGB color,
560  unsigned int thickness);
561  virtual ~svlOverlayPoly();
562 
563  void SetColor(svlRGB color);
564  void SetThickness(unsigned int thickness);
565 
566  svlRGB GetColor() const;
567  unsigned int GetThickness() const;
568 
569 protected:
570  virtual bool IsInputTypeValid(svlStreamType inputtype);
571  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
572 
573 private:
575  svlRGB Color;
576  unsigned int Thickness;
577 };
578 
579 
581 {
582 public:
585 
587  svlOverlayStaticPoly(unsigned int videoch,
588  bool visible,
589  svlRGB color);
590  svlOverlayStaticPoly(unsigned int videoch,
591  bool visible,
592  svlRGB color,
593  unsigned int thickness);
594  svlOverlayStaticPoly(unsigned int videoch,
595  bool visible,
596  const TypeRef poly,
597  svlRGB color);
598  svlOverlayStaticPoly(unsigned int videoch,
599  bool visible,
600  const TypeRef poly,
601  svlRGB color,
602  unsigned int thickness,
603  unsigned int start);
604  virtual ~svlOverlayStaticPoly();
605 
606  void SetPoints();
607  void SetPoints(const TypeRef points);
608  void SetPoints(const TypeRef points, unsigned int start);
609  void SetColor(svlRGB color);
610  void SetThickness(unsigned int thickness);
611  void SetStart(unsigned int start);
612 
613  TypeRef GetPoints();
614  svlRGB GetColor() const;
615  unsigned int GetThickness() const;
616  unsigned int GetStart() const;
617 
618  unsigned int AddPoint(svlPoint2D point);
619  unsigned int AddPoint(int x, int y);
620  int SetPoint(unsigned int idx, svlPoint2D point);
621  int SetPoint(unsigned int idx, vctInt2 point);
622  int SetPoint(unsigned int idx, int x, int y);
623  int GetPoint(unsigned int idx, svlPoint2D & point) const;
624  int GetPoint(unsigned int idx, vctInt2 & point) const;
625  int GetPoint(unsigned int idx, int & x, int & y) const;
626 
627 protected:
628  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
629 
630 private:
631  Type Poly;
632  Type PolyXF;
633  svlRGB Color;
634  unsigned int Thickness;
635  unsigned int Start;
637 };
638 
639 
641 {
642 public:
644  svlOverlayStaticBar(unsigned int videoch,
645  bool visible,
646  vct2 range,
647  double value,
648  bool vertical,
649  svlRect rect,
650  svlRGB color,
651  svlRGB bgcolor,
652  unsigned int borderwidth,
653  svlRGB bordercolor);
654  svlOverlayStaticBar(unsigned int videoch,
655  bool visible,
656  vct2 range,
657  double value,
658  bool vertical,
659  svlRect rect,
660  svlRGB color,
661  svlRGB bgcolor);
662  virtual ~svlOverlayStaticBar();
663 
664  void SetRange(const vct2 range);
665  void SetRange(const double from, const double to);
666  void SetValue(const double value);
667  void SetDirection(const bool vertical);
668  void SetRect(svlRect rect);
669  void SetRect(int left, int top, int right, int bottom);
670  void SetColor(svlRGB color);
671  void SetBackgroundColor(svlRGB bgcolor);
672  void SetBorderWidth(const unsigned int pixels);
673  void SetBorderColor(svlRGB bordercolor);
674 
675  vct2 GetRange() const;
676  void GetRange(double & from, double & to) const;
677  double GetValue() const;
678  bool GetDirection() const;
679  svlRect GetRect() const;
680  void GetRect(int & left, int & top, int & right, int & bottom) const;
681  svlRGB GetColor() const;
682  svlRGB GetBackgroundColor() const;
683  unsigned int GetBorderWidth() const;
684  svlRGB GetBorderColor() const;
685 
686  int GetValueInImagePos(double value, int & imagepos) const;
687  int GetImagePosInValue(int imagepos, double & value) const;
688 
689 protected:
690  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
691 
692 private:
693  vct2 Range;
694  double Value;
695  bool Vertical;
696  svlRect Rect;
697  svlRGB Color;
698  svlRGB BGColor;
699  int BorderWidth;
700  svlRGB BorderColor;
701  svlDraw::Internals* DrawInternals;
702 };
703 
704 
706 {
707 public:
709  svlOverlayFramerate(unsigned int videoch,
710  bool visible,
711  svlFilterBase* filter,
712  svlRect rect,
713  double fontsize,
714  svlRGB txtcolor);
715  svlOverlayFramerate(unsigned int videoch,
716  bool visible,
717  svlFilterBase* filter,
718  svlRect rect,
719  double fontsize,
720  svlRGB txtcolor,
721  svlRGB bgcolor);
722  virtual ~svlOverlayFramerate();
723 
724  void SetUpdateRate(double seconds);
725  double GetUpdateRate() const;
726  void Reset();
727 
728 protected:
729  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
730 
731 private:
732  svlFilterBase* Filter;
733  unsigned int PrevSampleCount;
734  double PrevSampleTime;
735  osaStopwatch StopWatch;
736  double UpdateRate;
737  bool ResetFlag;
738 };
739 
740 
742 {
743 public:
745  svlOverlayTimestamp(unsigned int videoch,
746  bool visible,
747  svlFilterBase* filter,
748  svlRect rect,
749  double fontsize,
750  svlRGB txtcolor);
751  svlOverlayTimestamp(unsigned int videoch,
752  bool visible,
753  svlFilterBase* filter,
754  svlRect rect,
755  double fontsize,
756  svlRGB txtcolor,
757  svlRGB bgcolor);
758  virtual ~svlOverlayTimestamp();
759 
760 protected:
761  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
762 
763 private:
764  svlFilterBase* Filter;
765 };
766 
767 
769 {
770 public:
772  svlOverlayAsyncOutputProperties(unsigned int videoch,
773  bool visible,
774  svlFilterOutput* output,
775  svlRect rect,
776  double fontsize,
777  svlRGB txtcolor);
778  svlOverlayAsyncOutputProperties(unsigned int videoch,
779  bool visible,
780  svlFilterOutput* output,
781  svlRect rect,
782  double fontsize,
783  svlRGB txtcolor,
784  svlRGB bgcolor);
786 
787 protected:
788  virtual void DrawInternal(svlSampleImage* bgimage, svlSample* input);
789 
790 private:
791  svlFilterOutput* Output;
792 };
793 
794 
795 #endif // _svlOverlayObjects_h
796 
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
svlRGB GetBackgroundColor() const
Definition: svlOverlayObjects.h:296
Definition: svlOverlayObjects.h:217
bool GetBackground() const
Definition: svlDraw.h:38
svlStreamType
Definition: svlDefinitions.h:193
void SetBackgroundColor(svlRGB bgcolor)
Definition: svlFilterImageOverlay.h:35
void SetRect(svlRect rect)
void CISST_EXPORT Text(svlSampleImage *image, unsigned int videoch, svlPoint2D pos, const std::string &text, double fontsize, svlRGB color)
Definition: osaCriticalSection.h:36
int TransformID
Definition: svlOverlayObjects.h:76
svlRect GetRect() const
Definition: svlOverlayObjects.h:580
bool InputSynchronized
Definition: svlOverlayObjects.h:107
bool Transformed
Definition: svlOverlayObjects.h:77
Definition: svlOverlayObjects.h:705
Definition: svlTypes.h:298
Definition: svlOverlayObjects.h:640
Definition: svlOverlayObjects.h:190
Dynamic vector referencing existing memory.
Definition: vctDynamicVectorRef.h:77
Definition: svlBufferImage.h:37
virtual void DrawInternal(svlSampleImage *bgimage, svlSample *input)
Definition: svlFilterBase.h:39
Definition: svlOverlayObjects.h:39
Definition: svlOverlayObjects.h:548
virtual bool IsInputTypeValid(svlStreamType inputtype)=0
Definition: svlTypes.h:279
void SetBackground(bool enable)
virtual void SetTransform(const ThisType::ImageTransform &transform)
Definition: svlOverlayObjects.h:115
bool TransformSynchronized
Definition: svlOverlayObjects.h:78
virtual void DrawInternal(svlSampleImage *bgimage, svlSample *input)=0
Definition: svlOverlayObjects.h:768
Definition: svlOverlayObjects.h:436
void CISST_EXPORT Crosshair(svlSampleImage *image, unsigned int videoch, svlPoint2D pos, svlRGB color, unsigned int radius=5, unsigned int thickness=2)
std::string InputName
Definition: svlOverlayObjects.h:106
Definition: osaStopwatch.h:82
unsigned int VideoCh
Definition: svlOverlayObjects.h:72
vct3x3 Transform
Definition: svlOverlayObjects.h:74
Definition: svlOverlayObjects.h:497
Definition: svlSampleImage.h:35
Macros to export the symbols of cisstStereoVision (in a Dll).
Definition: svlOverlayObjects.h:252
Definition: svlOverlayObjects.h:404
double GetFontSize() const
Definition: svlTypes.h:215
void SetFontSize(double size)
Definition: svlOverlayObjects.h:741
vctDynamicVector< svlPoint2D > Type
Definition: svlOverlayObjects.h:583
bool Visible
Definition: svlOverlayObjects.h:73
Definition: svlOverlayObjects.h:155
void CISST_EXPORT Poly(svlSampleImage *image, unsigned int videoch, const vctDynamicVectorRef< svlPoint2D > points, svlRGB color, unsigned int thickness, unsigned int start)
svlRect GetTextSize(const std::string &text)
double TransformTimestamp
Definition: svlOverlayObjects.h:75
void SetCenter(const vctFixedSizeVector< _Type, 2 > &center)
Definition: svlOverlayObjects.h:464
Definition: svlOverlayObjects.h:88
Definition: svlTypes.h:118
Definition: svlFilterOutput.h:35
vctDynamicVectorRef< svlPoint2D > TypeRef
Definition: svlOverlayObjects.h:584
void CISST_EXPORT Ellipse(svlSampleImage *image, unsigned int videoch, int cx, int cy, int rx, int ry, unsigned char r, unsigned char g, unsigned char b, double angle=0.0, double from_angle=0.0, double to_angle=2.0 *cmnPI, int thickness=1)
void SetTextColor(svlRGB txtcolor)
Definition: svlFilterInput.h:36
unsigned char ID
Definition: CiA301.h:13
svlRGB GetTextColor() const
Definition: svlOverlayObjects.h:351
Definition: svlSample.h:31