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

dox/Rendering/vtkScalarBarActor.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkScalarBarActor.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 =========================================================================*/
00058 #ifndef __vtkScalarBarActor_h
00059 #define __vtkScalarBarActor_h
00060 
00061 #include "vtkActor2D.h"
00062 
00063 class vtkPolyData;
00064 class vtkPolyDataMapper2D;
00065 class vtkScalarsToColors;
00066 class vtkTextMapper;
00067 class vtkTextProperty;
00068 class vtkTexture;
00069 
00070 #define VTK_ORIENT_HORIZONTAL 0
00071 #define VTK_ORIENT_VERTICAL 1
00072 
00073 class VTK_RENDERING_EXPORT vtkScalarBarActor : public vtkActor2D
00074 {
00075 public:
00076   vtkTypeRevisionMacro(vtkScalarBarActor,vtkActor2D);
00077   void PrintSelf(ostream& os, vtkIndent indent);
00078 
00082   static vtkScalarBarActor *New();
00083 
00085 
00086   int RenderOpaqueGeometry(vtkViewport* viewport);
00087   virtual int RenderTranslucentPolygonalGeometry(vtkViewport*) { return 0; };
00088   int RenderOverlay(vtkViewport* viewport);
00090 
00092   virtual int HasTranslucentPolygonalGeometry();
00093   
00097   virtual void ReleaseGraphicsResources(vtkWindow *);
00098 
00100 
00103   virtual void SetLookupTable(vtkScalarsToColors*);
00104   vtkGetObjectMacro(LookupTable,vtkScalarsToColors);
00106 
00108 
00113   vtkSetMacro( UseOpacity, int );
00114   vtkGetMacro( UseOpacity, int );
00115   vtkBooleanMacro( UseOpacity, int );
00117 
00119 
00122   vtkSetClampMacro(MaximumNumberOfColors, int, 2, VTK_LARGE_INTEGER);
00123   vtkGetMacro(MaximumNumberOfColors, int);
00125   
00127 
00128   vtkSetClampMacro(NumberOfLabels, int, 0, 64);
00129   vtkGetMacro(NumberOfLabels, int);
00131   
00133 
00134   vtkSetClampMacro(Orientation,int,VTK_ORIENT_HORIZONTAL, VTK_ORIENT_VERTICAL);
00135   vtkGetMacro(Orientation, int);
00136   void SetOrientationToHorizontal()
00137        {this->SetOrientation(VTK_ORIENT_HORIZONTAL);};
00138   void SetOrientationToVertical() {this->SetOrientation(VTK_ORIENT_VERTICAL);};
00140 
00142 
00143   virtual void SetTitleTextProperty(vtkTextProperty *p);
00144   vtkGetObjectMacro(TitleTextProperty,vtkTextProperty);
00146   
00148 
00149   virtual void SetLabelTextProperty(vtkTextProperty *p);
00150   vtkGetObjectMacro(LabelTextProperty,vtkTextProperty);
00152     
00154 
00155   vtkSetStringMacro(LabelFormat);
00156   vtkGetStringMacro(LabelFormat);
00158 
00160 
00161   vtkSetStringMacro(Title);
00162   vtkGetStringMacro(Title);
00164 
00167   void ShallowCopy(vtkProp *prop);
00168 
00170 
00171   vtkSetMacro( TextureGridWidth, double );
00172   vtkGetMacro( TextureGridWidth, double );
00174 
00176 
00177   vtkGetObjectMacro( TextureActor, vtkActor2D );
00179 
00180 //BTX
00181   enum { PrecedeScalarBar = 0, SucceedScalarBar };
00182 //ETX
00183 
00185 
00189   vtkSetClampMacro( TextPosition, int, PrecedeScalarBar, SucceedScalarBar);
00190   vtkGetMacro( TextPosition, int );
00191   virtual void SetTextPositionToPrecedeScalarBar()
00192     { this->SetTextPosition( vtkScalarBarActor::PrecedeScalarBar ); }
00193   virtual void SetTextPositionToSucceedScalarBar()
00194     { this->SetTextPosition( vtkScalarBarActor::SucceedScalarBar ); }
00196 
00197 protected:
00198   vtkScalarBarActor();
00199   ~vtkScalarBarActor();
00200 
00201   vtkScalarsToColors *LookupTable;
00202   vtkTextProperty *TitleTextProperty;
00203   vtkTextProperty *LabelTextProperty;
00204 
00205   int   MaximumNumberOfColors;
00206   int   NumberOfLabels;
00207   int   NumberOfLabelsBuilt;
00208   int   Orientation;
00209   char  *Title;
00210   char  *LabelFormat;
00211   int   UseOpacity; // off by default
00212   double TextureGridWidth;
00213   int TextPosition;
00214 
00215   vtkTextMapper **TextMappers;
00216   vtkActor2D    **TextActors;
00217   virtual void AllocateAndSizeLabels(int *labelSize, int *size,
00218                                      vtkViewport *viewport, double *range);
00219 
00220   vtkTextMapper *TitleMapper;
00221   vtkActor2D    *TitleActor;
00222   virtual void SizeTitle(int *titleSize, int *size, vtkViewport *viewport);
00223 
00224   vtkPolyData         *ScalarBar;
00225   vtkPolyDataMapper2D *ScalarBarMapper;
00226   vtkActor2D          *ScalarBarActor;
00227 
00228   vtkPolyData         *TexturePolyData;
00229   vtkTexture          *Texture;
00230   vtkActor2D          *TextureActor;
00231 
00232   vtkTimeStamp  BuildTime;
00233   int LastSize[2];
00234   int LastOrigin[2];
00235 
00236 
00237 private:
00238   vtkScalarBarActor(const vtkScalarBarActor&);  // Not implemented.
00239   void operator=(const vtkScalarBarActor&);  // Not implemented.
00240 };
00241 
00242 
00243 #endif
00244 

Generated by  doxygen 1.7.1