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

dox/Imaging/vtkImageCanvasSource2D.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageCanvasSource2D.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 =========================================================================*/
00026 #ifndef __vtkImageCanvasSource2D_h
00027 #define __vtkImageCanvasSource2D_h
00028 
00029 #include "vtkImageAlgorithm.h"
00030 
00031 class VTK_IMAGING_EXPORT vtkImageCanvasSource2D : public vtkImageAlgorithm
00032 {
00033 public:
00035   static vtkImageCanvasSource2D *New();
00036 
00037   vtkTypeRevisionMacro(vtkImageCanvasSource2D,vtkImageAlgorithm);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00041 
00043   vtkSetVector4Macro(DrawColor, double);
00044   vtkGetVector4Macro(DrawColor, double);
00045   void SetDrawColor(double a) {this->SetDrawColor(a, 0.0, 0.0, 0.0);}
00046   void SetDrawColor(double a,double b) {this->SetDrawColor(a, b, 0.0, 0.0);}
00047   void SetDrawColor(double a, double b, double c) {
00048     this->SetDrawColor(a, b, c, 0.0);}
00050 
00051   void FillBox(int min0, int max0, int min1, int max1);
00052   void FillTube(int x0, int y0, int x1, int y1, double radius);
00053   void FillTriangle(int x0, int y0, int x1, int y1, int x2, int y2);
00054   void DrawCircle(int c0, int c1, double radius);
00055   void DrawPoint(int p0, int p1);
00056   void DrawSegment(int x0, int y0, int x1, int y1);
00057   void DrawSegment3D(double *p0, double *p1);
00058   void DrawSegment3D(double x1, double y1, double z1,
00059                      double x2, double y2, double z2)
00060     { double p1[3], p2[3];
00061     p1[0] = x1; p1[1] = y1; p1[2] = z1; p2[0] = x2; p2[1] = y2; p2[2] = z2;
00062     this->DrawSegment3D(p1, p2);}
00063 
00065 
00067   void DrawImage(int x0, int y0, vtkImageData* i)
00068     { this->DrawImage(x0, y0, i, -1, -1, -1, -1); }
00069   void DrawImage(int x0, int y0, vtkImageData*, int sx, int sy,
00070                  int width, int height);
00072 
00076   void FillPixel(int x, int y);
00077 
00079 
00082   void SetExtent(int *extent);
00083   void SetExtent(int x1, int x2, int y1, int y2, int z1, int z2);
00085 
00087 
00090   vtkSetMacro(DefaultZ, int);
00091   vtkGetMacro(DefaultZ, int);
00093 
00095 
00097   vtkSetVector3Macro(Ratio, double);
00098   vtkGetVector3Macro(Ratio, double);
00100 
00102 
00103   virtual void SetNumberOfScalarComponents(int i);
00104   virtual int GetNumberOfScalarComponents() const;
00106 
00108 
00113   void SetScalarTypeToFloat(){this->SetScalarType(VTK_FLOAT);};
00114   void SetScalarTypeToDouble(){this->SetScalarType(VTK_DOUBLE);};
00115   void SetScalarTypeToInt(){this->SetScalarType(VTK_INT);};
00116   void SetScalarTypeToUnsignedInt()
00117     {this->SetScalarType(VTK_UNSIGNED_INT);};
00118   void SetScalarTypeToLong(){this->SetScalarType(VTK_LONG);};
00119   void SetScalarTypeToUnsignedLong()
00120     {this->SetScalarType(VTK_UNSIGNED_LONG);};
00121   void SetScalarTypeToShort(){this->SetScalarType(VTK_SHORT);};
00122   void SetScalarTypeToUnsignedShort()
00123     {this->SetScalarType(VTK_UNSIGNED_SHORT);};
00124   void SetScalarTypeToUnsignedChar()
00125     {this->SetScalarType(VTK_UNSIGNED_CHAR);};
00126   void SetScalarTypeToChar()
00127     {this->SetScalarType(VTK_CHAR);};
00128   void SetScalarType(int);
00129   int GetScalarType() const;
00131 
00132 protected:
00133   vtkImageCanvasSource2D();
00134   // Destructor: Deleting a vtkImageCanvasSource2D automatically deletes the
00135   // associated vtkImageData.  However, since the data is reference counted,
00136   // it may not actually be deleted.
00137   ~vtkImageCanvasSource2D();
00138 
00139   vtkImageData *ImageData;
00140   int WholeExtent[6];
00141   double DrawColor[4];
00142   int DefaultZ;
00143   double Ratio[3];
00144 
00145   int ClipSegment(int &a0, int &a1, int &b0, int &b1);
00146 
00147   virtual int RequestInformation (vtkInformation *,
00148                                   vtkInformationVector**,
00149                                   vtkInformationVector *);
00150   virtual int RequestData (vtkInformation *,
00151                            vtkInformationVector**,
00152                            vtkInformationVector *);
00153 
00154 private:
00155   vtkImageCanvasSource2D(const vtkImageCanvasSource2D&);  // Not implemented.
00156   void operator=(const vtkImageCanvasSource2D&);  // Not implemented.
00157 };
00158 
00159 
00160 
00161 #endif
00162 
00163 

Generated by  doxygen 1.7.1