Rendering/vtkVolumeMapper.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027 #ifndef __vtkVolumeMapper_h
00028 #define __vtkVolumeMapper_h
00029
00030 #include "vtkAbstractVolumeMapper.h"
00031
00032 class vtkRenderer;
00033 class vtkVolume;
00034 class vtkImageData;
00035
00036 #define VTK_CROP_SUBVOLUME 0x0002000
00037 #define VTK_CROP_FENCE 0x2ebfeba
00038 #define VTK_CROP_INVERTED_FENCE 0x5140145
00039 #define VTK_CROP_CROSS 0x0417410
00040 #define VTK_CROP_INVERTED_CROSS 0x7be8bef
00041
00042 class vtkWindow;
00043 class vtkImageClip;
00044
00045 class VTK_RENDERING_EXPORT vtkVolumeMapper : public vtkAbstractVolumeMapper
00046 {
00047 public:
00048 vtkTypeRevisionMacro(vtkVolumeMapper,vtkAbstractVolumeMapper);
00049 void PrintSelf( ostream& os, vtkIndent indent );
00050
00052
00053 virtual void SetInput( vtkImageData * );
00054 virtual void SetInput( vtkDataSet * );
00055 vtkImageData *GetInput();
00057
00059
00061 vtkSetClampMacro(Cropping,int,0,1);
00062 vtkGetMacro(Cropping,int);
00063 vtkBooleanMacro(Cropping,int);
00065
00067
00070 vtkSetVector6Macro( CroppingRegionPlanes, double );
00071 vtkGetVectorMacro( CroppingRegionPlanes, double, 6 );
00073
00075
00077 vtkGetVectorMacro( VoxelCroppingRegionPlanes, double, 6 );
00079
00081
00090 vtkSetClampMacro( CroppingRegionFlags, int, 0x0, 0x7ffffff );
00091 vtkGetMacro( CroppingRegionFlags, int );
00092 void SetCroppingRegionFlagsToSubVolume()
00093 {this->SetCroppingRegionFlags( VTK_CROP_SUBVOLUME );};
00094 void SetCroppingRegionFlagsToFence()
00095 {this->SetCroppingRegionFlags( VTK_CROP_FENCE );};
00096 void SetCroppingRegionFlagsToInvertedFence()
00097 {this->SetCroppingRegionFlags( VTK_CROP_INVERTED_FENCE );};
00098 void SetCroppingRegionFlagsToCross()
00099 {this->SetCroppingRegionFlags( VTK_CROP_CROSS );};
00100 void SetCroppingRegionFlagsToInvertedCross()
00101 {this->SetCroppingRegionFlags( VTK_CROP_INVERTED_CROSS );};
00103
00104
00105
00108 virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0;
00109
00114 virtual void ReleaseGraphicsResources(vtkWindow *) {};
00115
00116
00117
00119
00121 virtual void SetUseImageClipper(int);
00122 vtkGetMacro(UseImageClipper, int );
00123 vtkBooleanMacro(UseImageClipper, int );
00125
00126 protected:
00127 vtkVolumeMapper();
00128 ~vtkVolumeMapper();
00129
00130
00131
00132 int Cropping;
00133 double CroppingRegionPlanes[6];
00134 double VoxelCroppingRegionPlanes[6];
00135 int CroppingRegionFlags;
00136 void ConvertCroppingRegionPlanesToVoxels();
00137
00138
00139 int UseImageClipper;
00140 vtkImageClip *ImageClipper;
00141
00142
00143 private:
00144 vtkVolumeMapper(const vtkVolumeMapper&);
00145 void operator=(const vtkVolumeMapper&);
00146 };
00147
00148
00149 #endif
00150
00151