Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Imaging/vtkImageCast.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageCast.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00050 #ifndef __vtkImageCast_h
00051 #define __vtkImageCast_h
00052 
00053 
00054 #include "vtkImageToImageFilter.h"
00055 
00056 class VTK_IMAGING_EXPORT vtkImageCast : public vtkImageToImageFilter
00057 {
00058 public:
00059   static vtkImageCast *New();
00060   vtkTypeRevisionMacro(vtkImageCast,vtkImageToImageFilter);
00061   void PrintSelf(ostream& os, vtkIndent indent);
00062 
00064 
00065   vtkSetMacro(OutputScalarType,int);
00066   vtkGetMacro(OutputScalarType,int);
00067   void SetOutputScalarTypeToFloat(){this->SetOutputScalarType(VTK_FLOAT);};
00068   void SetOutputScalarTypeToDouble(){this->SetOutputScalarType(VTK_DOUBLE);};
00069   void SetOutputScalarTypeToInt(){this->SetOutputScalarType(VTK_INT);};
00070   void SetOutputScalarTypeToUnsignedInt()
00071     {this->SetOutputScalarType(VTK_UNSIGNED_INT);};
00072   void SetOutputScalarTypeToLong(){this->SetOutputScalarType(VTK_LONG);};
00073   void SetOutputScalarTypeToUnsignedLong()
00074     {this->SetOutputScalarType(VTK_UNSIGNED_LONG);};
00075   void SetOutputScalarTypeToShort(){this->SetOutputScalarType(VTK_SHORT);};
00076   void SetOutputScalarTypeToUnsignedShort()   
00077     {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);};
00078   void SetOutputScalarTypeToUnsignedChar()
00079     {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);};
00080   void SetOutputScalarTypeToChar()
00081     {this->SetOutputScalarType(VTK_CHAR);};
00083 
00085 
00088   vtkSetMacro(ClampOverflow, int);
00089   vtkGetMacro(ClampOverflow, int);
00090   vtkBooleanMacro(ClampOverflow, int);
00092   
00093   
00094 protected:
00095   vtkImageCast();
00096   ~vtkImageCast() {};
00097 
00098   int ClampOverflow;
00099   int OutputScalarType;
00100   void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
00101   void UpdateData(vtkDataObject *data);
00102   void ExecuteInformation(){this->vtkImageToImageFilter::ExecuteInformation();};
00103   void ThreadedExecute(vtkImageData *inData, vtkImageData *outData, 
00104                        int ext[6], int id);
00105 
00106 private:
00107   vtkImageCast(const vtkImageCast&);  // Not implemented.
00108   void operator=(const vtkImageCast&);  // Not implemented.
00109 };
00110 
00111 #endif
00112 
00113 
00114 
00115