Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Common/vtkScalarsToColors.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00048 #ifndef __vtkScalarsToColors_h
00049 #define __vtkScalarsToColors_h
00050
00051 #include "vtkObject.h"
00052
00053 class vtkDataArray;
00054 class vtkUnsignedCharArray;
00055
00056 class VTK_COMMON_EXPORT vtkScalarsToColors : public vtkObject
00057 {
00058 public:
00059 vtkTypeRevisionMacro(vtkScalarsToColors,vtkObject);
00060 void PrintSelf(ostream& os, vtkIndent indent);
00061
00063 virtual void Build() {};
00064
00066
00067 virtual float *GetRange() = 0;
00068 virtual void SetRange(float min, float max) = 0;
00069 void SetRange(float rng[2])
00070 {this->SetRange(rng[0],rng[1]);}
00072
00075 virtual unsigned char *MapValue(float v) = 0;
00076
00079 virtual void GetColor(float v, float rgb[3]) = 0;
00080
00082
00084 float *GetColor(float v)
00085 {this->GetColor(v,this->RGB); return this->RGB;}
00087
00089
00091 virtual float GetOpacity(float vtkNotUsed(v))
00092 {return 1.0;}
00094
00096
00099 float GetLuminance(float x)
00100 {float rgb[3]; this->GetColor(x,rgb);
00101 return static_cast<float>(rgb[0]*0.30 + rgb[1]*0.59 + rgb[2]*0.11);}
00103
00105
00109 void SetAlpha(float alpha);
00110 vtkGetMacro(Alpha,float);
00112
00114
00123 vtkUnsignedCharArray *MapScalars(vtkDataArray *scalars, int colorMode,
00124 int component);
00126
00128
00129 vtkSetMacro(VectorMode, int);
00130 vtkGetMacro(VectorMode, int);
00131 void SetVectorModeToMagnitude();
00132 void SetVectorModeToComponent();
00134
00136
00138 vtkSetMacro(VectorComponent, int);
00139 vtkGetMacro(VectorComponent, int);
00141
00143
00148 void MapScalarsThroughTable(vtkDataArray *scalars,
00149 unsigned char *output,
00150 int outputFormat);
00151 void MapScalarsThroughTable(vtkDataArray *scalars,
00152 unsigned char *output)
00153 {this->MapScalarsThroughTable(scalars,output,VTK_RGBA);}
00155
00156
00158
00159 virtual void MapScalarsThroughTable2(void *input, unsigned char *output,
00160 int inputDataType, int numberOfValues,
00161 int inputIncrement,
00162 int outputFormat) = 0;
00164
00166
00169 virtual vtkUnsignedCharArray *ConvertUnsignedCharToRGBA(
00170 vtkUnsignedCharArray *colors, int numComp, int numTuples);
00172
00173 protected:
00174 vtkScalarsToColors();
00175 ~vtkScalarsToColors() {}
00176
00177 float Alpha;
00178
00179
00180 int VectorMode;
00181
00182
00183
00184 int UseMagnitude;
00185 int VectorComponent;
00186
00187
00188 enum VectorModes {
00189 MAGNITUDE=0,
00190 COMPONENT=1
00191 };
00192
00193
00194 private:
00195 float RGB[3];
00196 private:
00197 vtkScalarsToColors(const vtkScalarsToColors&);
00198 void operator=(const vtkScalarsToColors&);
00199 };
00200
00201 #endif
00202
00203
00204