Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Rendering/vtkVolumeTextureMapper.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00040 #ifndef __vtkVolumeTextureMapper_h
00041 #define __vtkVolumeTextureMapper_h
00042
00043 #include "vtkVolumeMapper.h"
00044
00045 class vtkEncodedGradientEstimator;
00046 class vtkEncodedGradientShader;
00047 class vtkRenderWindow;
00048 class vtkRenderer;
00049 class vtkVolume;
00050
00051 class VTK_RENDERING_EXPORT vtkVolumeTextureMapper : public vtkVolumeMapper
00052 {
00053 public:
00054 vtkTypeRevisionMacro(vtkVolumeTextureMapper,vtkVolumeMapper);
00055 void PrintSelf( ostream& os, vtkIndent indent );
00056
00058 virtual void Update();
00059
00061
00062 virtual void SetGradientEstimator( vtkEncodedGradientEstimator *gradest );
00063 vtkGetObjectMacro( GradientEstimator, vtkEncodedGradientEstimator );
00065
00067
00068 vtkGetObjectMacro( GradientShader, vtkEncodedGradientShader );
00070
00071
00073
00074 in the subclasses. */
00075 float *GetGradientOpacityArray(){return this->GradientOpacityArray;};
00076 unsigned char *GetRGBAArray(){return this->RGBAArray;};
00077 float *GetRedDiffuseShadingTable(){return this->RedDiffuseShadingTable;};
00078 float *GetGreenDiffuseShadingTable(){return this->GreenDiffuseShadingTable;};
00079 float *GetBlueDiffuseShadingTable(){return this->BlueDiffuseShadingTable;};
00080 float *GetRedSpecularShadingTable(){return this->RedSpecularShadingTable;};
00081 float *GetGreenSpecularShadingTable(){return this->GreenSpecularShadingTable;};
00082 float *GetBlueSpecularShadingTable(){return this->BlueSpecularShadingTable;};
00083 unsigned short *GetEncodedNormals(){return this->EncodedNormals;};
00084 unsigned char *GetGradientMagnitudes(){return this->GradientMagnitudes;};
00085 vtkGetMacro( Shade, int );
00086 vtkGetObjectMacro( RenderWindow, vtkRenderWindow );
00087 vtkGetVectorMacro( DataOrigin, float, 3 );
00088 vtkGetVectorMacro( DataSpacing, float, 3 );
00090
00093 virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0;
00094
00096
00098 virtual float GetGradientMagnitudeScale();
00099 virtual float GetGradientMagnitudeBias();
00100 virtual float GetGradientMagnitudeScale(int)
00101 { return this->GetGradientMagnitudeScale(); };
00102 virtual float GetGradientMagnitudeBias(int)
00103 { return this->GetGradientMagnitudeBias(); };
00105
00106
00107
00108
00109
00110 protected:
00111 vtkVolumeTextureMapper();
00112 ~vtkVolumeTextureMapper();
00113
00114 void InitializeRender( vtkRenderer *ren, vtkVolume *vol );
00115
00116
00117 vtkEncodedGradientEstimator *GradientEstimator;
00118 vtkEncodedGradientShader *GradientShader;
00119 int Shade;
00120
00121 float *GradientOpacityArray;
00122 unsigned char *RGBAArray;
00123 int ArraySize;
00124
00125 float *RedDiffuseShadingTable;
00126 float *GreenDiffuseShadingTable;
00127 float *BlueDiffuseShadingTable;
00128 float *RedSpecularShadingTable;
00129 float *GreenSpecularShadingTable;
00130 float *BlueSpecularShadingTable;
00131
00132 float DataOrigin[3];
00133 float DataSpacing[3];
00134
00135 unsigned short *EncodedNormals;
00136 unsigned char *GradientMagnitudes;
00137
00138 float SampleDistance;
00139
00140 vtkRenderWindow *RenderWindow;
00141 private:
00142 vtkVolumeTextureMapper(const vtkVolumeTextureMapper&);
00143 void operator=(const vtkVolumeTextureMapper&);
00144 };
00145
00146
00147 #endif
00148
00149