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