Rendering/vtkVolumeRayCastCompositeFunction.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00038 #ifndef __vtkVolumeRayCastCompositeFunction_h
00039 #define __vtkVolumeRayCastCompositeFunction_h
00040
00041 #include "vtkVolumeRayCastFunction.h"
00042
00043 #define VTK_COMPOSITE_CLASSIFY_FIRST 0
00044 #define VTK_COMPOSITE_INTERPOLATE_FIRST 1
00045
00046 class VTK_RENDERING_EXPORT vtkVolumeRayCastCompositeFunction : public vtkVolumeRayCastFunction
00047 {
00048 public:
00049 static vtkVolumeRayCastCompositeFunction *New();
00050 vtkTypeRevisionMacro(vtkVolumeRayCastCompositeFunction,vtkVolumeRayCastFunction);
00051 void PrintSelf( ostream& os, vtkIndent indent );
00052
00054
00055 vtkSetClampMacro( CompositeMethod, int,
00056 VTK_COMPOSITE_CLASSIFY_FIRST, VTK_COMPOSITE_INTERPOLATE_FIRST );
00057 vtkGetMacro(CompositeMethod,int);
00058 void SetCompositeMethodToInterpolateFirst()
00059 {this->SetCompositeMethod(VTK_COMPOSITE_INTERPOLATE_FIRST);}
00060 void SetCompositeMethodToClassifyFirst()
00061 {this->SetCompositeMethod(VTK_COMPOSITE_CLASSIFY_FIRST);}
00062 const char *GetCompositeMethodAsString(void);
00064
00065
00066 void CastRay( vtkVolumeRayCastDynamicInfo *dynamicInfo,
00067 vtkVolumeRayCastStaticInfo *staticInfo);
00068
00069 float GetZeroOpacityThreshold( vtkVolume *vol );
00070
00071
00072 protected:
00073 vtkVolumeRayCastCompositeFunction();
00074 ~vtkVolumeRayCastCompositeFunction();
00075
00076
00077 void SpecificFunctionInitialize( vtkRenderer *ren,
00078 vtkVolume *vol,
00079 vtkVolumeRayCastStaticInfo *staticInfo,
00080 vtkVolumeRayCastMapper *mapper );
00081
00082
00083 int CompositeMethod;
00084 private:
00085 vtkVolumeRayCastCompositeFunction(const vtkVolumeRayCastCompositeFunction&);
00086 void operator=(const vtkVolumeRayCastCompositeFunction&);
00087 };
00088
00089
00090 #endif