00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043 #ifndef __vtkThresholdTextureCoords_h
00044 #define __vtkThresholdTextureCoords_h
00045
00046 #include "vtkDataSetAlgorithm.h"
00047
00048 class VTK_GRAPHICS_EXPORT vtkThresholdTextureCoords : public vtkDataSetAlgorithm
00049 {
00050 public:
00051 static vtkThresholdTextureCoords *New();
00052 vtkTypeRevisionMacro(vtkThresholdTextureCoords,vtkDataSetAlgorithm);
00053 void PrintSelf(ostream& os, vtkIndent indent);
00054
00056 void ThresholdByLower(double lower);
00057
00059 void ThresholdByUpper(double upper);
00060
00063 void ThresholdBetween(double lower, double upper);
00064
00066
00067 vtkGetMacro(UpperThreshold,double);
00068 vtkGetMacro(LowerThreshold,double);
00070
00072
00073 vtkSetClampMacro(TextureDimension,int,1,3);
00074 vtkGetMacro(TextureDimension,int);
00076
00078
00080 vtkSetVector3Macro(InTextureCoord,double);
00081 vtkGetVectorMacro(InTextureCoord,double,3);
00083
00085
00087 vtkSetVector3Macro(OutTextureCoord,double);
00088 vtkGetVectorMacro(OutTextureCoord,double,3);
00090
00091 protected:
00092 vtkThresholdTextureCoords();
00093 ~vtkThresholdTextureCoords() {};
00094
00095
00096 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00097
00098 double LowerThreshold;
00099 double UpperThreshold;
00100
00101 int TextureDimension;
00102
00103 double InTextureCoord[3];
00104 double OutTextureCoord[3];
00105
00106
00107 int (vtkThresholdTextureCoords::*ThresholdFunction)(double s);
00108
00109
00110 int Lower(double s) {return ( s <= this->LowerThreshold ? 1 : 0 );};
00111 int Upper(double s) {return ( s >= this->UpperThreshold ? 1 : 0 );};
00112 int Between(double s) {return ( s >= this->LowerThreshold ?
00113 ( s <= this->UpperThreshold ? 1 : 0 ) : 0 );};
00114 private:
00115 vtkThresholdTextureCoords(const vtkThresholdTextureCoords&);
00116 void operator=(const vtkThresholdTextureCoords&);
00117 };
00118
00119 #endif