00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00032 #ifndef __vtkFixedPointRayCastImage_h
00033 #define __vtkFixedPointRayCastImage_h
00034
00035 #include "vtkObject.h"
00036
00037 class VTK_VOLUMERENDERING_EXPORT vtkFixedPointRayCastImage : public vtkObject
00038 {
00039 public:
00040 static vtkFixedPointRayCastImage *New();
00041 vtkTypeRevisionMacro(vtkFixedPointRayCastImage,vtkObject);
00042 virtual void PrintSelf(ostream& os, vtkIndent indent);
00043
00047 unsigned short *GetImage() {return this->Image;}
00048
00050
00052 vtkSetVector2Macro( ImageViewportSize, int );
00053 vtkGetVectorMacro( ImageViewportSize, int, 2 );
00055
00057
00061 vtkSetVector2Macro( ImageMemorySize, int );
00062 vtkGetVectorMacro( ImageMemorySize, int, 2 );
00064
00066
00070 vtkSetVector2Macro( ImageInUseSize, int );
00071 vtkGetVectorMacro( ImageInUseSize, int, 2 );
00073
00075
00080 vtkSetVector2Macro( ImageOrigin, int );
00081 vtkGetVectorMacro( ImageOrigin, int, 2 );
00083
00085
00089 vtkSetMacro( ImageSampleDistance, float );
00090 vtkGetMacro( ImageSampleDistance, float );
00092
00095 void AllocateImage();
00096
00098 void ClearImage();
00099
00101
00106 vtkSetVector2Macro( ZBufferSize, int );
00107 vtkGetVectorMacro( ZBufferSize, int, 2 );
00109
00111
00117 vtkSetVector2Macro( ZBufferOrigin, int );
00118 vtkGetVectorMacro( ZBufferOrigin, int, 2 );
00120
00122
00126 vtkSetClampMacro( UseZBuffer, int, 0, 1 );
00127 vtkGetMacro( UseZBuffer, int );
00128 vtkBooleanMacro( UseZBuffer, int );
00130
00135 float GetZBufferValue( int x, int y );
00136
00140 float *GetZBuffer() {return this->ZBuffer;}
00141
00142
00143
00144 void AllocateZBuffer();
00145
00146 protected:
00147 vtkFixedPointRayCastImage();
00148 ~vtkFixedPointRayCastImage();
00149
00150
00151 int ImageViewportSize[2];
00152
00153
00154
00155
00156
00157 int ImageMemorySize[2];
00158
00159
00160
00161
00162
00163 int ImageInUseSize[2];
00164
00165
00166
00167 int ImageOrigin[2];
00168
00169
00170
00171 float ImageSampleDistance;
00172
00173
00174 unsigned short *Image;
00175
00176
00177 int ZBufferSize[2];
00178
00179
00180
00181
00182 int ZBufferMemorySize;
00183
00184
00185
00186 int ZBufferOrigin[2];
00187
00188
00189 int UseZBuffer;
00190
00191
00192 float *ZBuffer;
00193
00194
00195 private:
00196 vtkFixedPointRayCastImage(const vtkFixedPointRayCastImage&);
00197 void operator=(const vtkFixedPointRayCastImage&);
00198 };
00199
00200 #endif
00201
00202
00203
00204
00205