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