• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Hybrid/vtkCornerAnnotation.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkCornerAnnotation.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00025 #ifndef __vtkCornerAnnotation_h
00026 #define __vtkCornerAnnotation_h
00027 
00028 #include "vtkActor2D.h"
00029 
00030 class vtkTextMapper;
00031 class vtkImageMapToWindowLevelColors;
00032 class vtkImageActor;
00033 class vtkTextProperty;
00034 
00035 class VTK_HYBRID_EXPORT vtkCornerAnnotation : public vtkActor2D
00036 {
00037 public:
00038   vtkTypeRevisionMacro(vtkCornerAnnotation,vtkActor2D);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00043   static vtkCornerAnnotation *New();
00044   
00046 
00047   int RenderOpaqueGeometry(vtkViewport* viewport);
00048   virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) {return 0;};
00049   int RenderOverlay(vtkViewport* viewport);
00051 
00053   virtual int HasTranslucentPolygonalGeometry();
00054   
00056 
00058   vtkSetMacro(MaximumLineHeight,double);
00059   vtkGetMacro(MaximumLineHeight,double);
00061   
00063 
00065   vtkSetMacro(MinimumFontSize,int);
00066   vtkGetMacro(MinimumFontSize,int);
00067   vtkSetMacro(MaximumFontSize,int);
00068   vtkGetMacro(MaximumFontSize,int);
00070 
00072 
00078   vtkSetMacro( LinearFontScaleFactor, double );
00079   vtkGetMacro( LinearFontScaleFactor, double );
00080   vtkSetMacro( NonlinearFontScaleFactor, double );
00081   vtkGetMacro( NonlinearFontScaleFactor, double );
00083 
00087   virtual void ReleaseGraphicsResources(vtkWindow *);
00088 
00090 
00091   void SetText(int i, const char *text);
00092   const char* GetText(int i);
00093   void ClearAllTexts();
00094   void CopyAllTextsFrom(vtkCornerAnnotation *ca);
00096 
00098 
00099   void SetImageActor(vtkImageActor*);
00100   vtkGetObjectMacro(ImageActor,vtkImageActor);
00102   
00104 
00106   void SetWindowLevel(vtkImageMapToWindowLevelColors*);
00107   vtkGetObjectMacro(WindowLevel,vtkImageMapToWindowLevelColors);
00109 
00111 
00112   vtkSetMacro(LevelShift, double);
00113   vtkGetMacro(LevelShift, double);
00115   
00117 
00118   vtkSetMacro(LevelScale, double);
00119   vtkGetMacro(LevelScale, double);
00121   
00123 
00124   virtual void SetTextProperty(vtkTextProperty *p);
00125   vtkGetObjectMacro(TextProperty,vtkTextProperty);
00127 
00129 
00131   vtkBooleanMacro(ShowSliceAndImage, int);
00132   vtkSetMacro(ShowSliceAndImage, int);
00133   vtkGetMacro(ShowSliceAndImage, int);
00135   
00136 protected:
00137   vtkCornerAnnotation();
00138   ~vtkCornerAnnotation();
00139 
00140   double MaximumLineHeight;
00141 
00142   vtkTextProperty *TextProperty;
00143 
00144   vtkImageMapToWindowLevelColors *WindowLevel;
00145   double LevelShift;
00146   double LevelScale;
00147   vtkImageActor *ImageActor;
00148   vtkImageActor *LastImageActor;
00149 
00150   char *CornerText[4];
00151   
00152   int FontSize;
00153   vtkActor2D    *TextActor[4];
00154   vtkTimeStamp   BuildTime;
00155   int            LastSize[2];
00156   vtkTextMapper *TextMapper[4];
00157 
00158   int MinimumFontSize;
00159   int MaximumFontSize;
00160 
00161   double LinearFontScaleFactor;
00162   double NonlinearFontScaleFactor;
00163   
00164   int ShowSliceAndImage;
00165   
00167 
00168   virtual void TextReplace(
00169     vtkImageActor *ia, vtkImageMapToWindowLevelColors *wl);
00171 
00173 
00174   virtual void SetTextActorsPosition(int vsize[2]);
00175   virtual void SetTextActorsJustification();
00177 
00178 private:
00179   vtkCornerAnnotation(const vtkCornerAnnotation&);  // Not implemented.
00180   void operator=(const vtkCornerAnnotation&);  // Not implemented.
00181 };
00182 
00183 
00184 #endif
00185 
00186 
00187 

Generated by  doxygen 1.7.1