Orfeo Toolbox  3.16
otbCurve2D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ORFEO Toolbox
4  Language: C++
5  Date: $Date$
6  Version: $Revision$
7 
8 
9  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
10  See OTBCopyright.txt for details.
11 
12 
13  This software is distributed WITHOUT ANY WARRANTY; without even
14  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  PURPOSE. See the above copyright notices for more information.
16 
17 =========================================================================*/
18 #ifndef __otbCurve2D_h
19 #define __otbCurve2D_h
20 
21 #include "otbGlComponent.h"
22 
23 // FLTK includes
24 #include <FL/gl.h>
25 #include "FL/Fl_Gl_Window.H"
26 
27 namespace otb
28 {
36 class Curve2D
37  : public GlComponent
38 {
39 public:
41  typedef Curve2D Self;
46 
47  // affine transform
52 
54  itkTypeMacro(Curve2D, GlComponent);
55 
57  virtual void BeforeRendering() {}
58 
60  virtual PointType GetMinimum() = 0;
61 
63  virtual PointType GetMaximum() = 0;
64 
66  itkGetStringMacro(Label);
67  itkSetStringMacro(Label);
68 
70  itkSetMacro(LabelColor, ColorType);
71  itkGetConstReferenceMacro(LabelColor, ColorType);
72 
74  itkGetMacro(Id, unsigned int);
75  itkSetMacro(Id, unsigned int);
76 
77 protected:
79  Curve2D() : m_Label("Curve"), m_LabelColor(), m_Id(0)
80  {
81  // Default color
82  m_LabelColor.Fill(1);
83  }
85  virtual ~Curve2D(){}
87  void PrintSelf(std::ostream& os, itk::Indent indent) const
88  {
89  Superclass::PrintSelf(os, indent);
90  }
91 
92 private:
93  Curve2D(const Self&); // purposely not implemented
94  void operator =(const Self&); // purposely not implemented
95 
97  std::string m_Label;
98 
101 
103  unsigned int m_Id;
104 }; // end class
105 } // end namespace otb
106 
107 #endif

Generated at Sun Feb 3 2013 00:19:55 for Orfeo Toolbox with doxygen 1.8.1.1