00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00039
#ifndef __vtkVolumeRayCastIsosurfaceFunction_h
00040
#define __vtkVolumeRayCastIsosurfaceFunction_h
00041
00042
#include "vtkVolumeRayCastFunction.h"
00043
00044 class VTK_RENDERING_EXPORT vtkVolumeRayCastIsosurfaceFunction :
public vtkVolumeRayCastFunction
00045 {
00046
public:
00047 vtkTypeRevisionMacro(vtkVolumeRayCastIsosurfaceFunction,
vtkVolumeRayCastFunction);
00048
void PrintSelf( ostream& os,
vtkIndent indent );
00049
00051
static vtkVolumeRayCastIsosurfaceFunction *
New();
00052
00054
float GetZeroOpacityThreshold(
vtkVolume *vol );
00055
00057
00058 vtkSetMacro( IsoValue,
float );
00059 vtkGetMacro( IsoValue,
float );
00061
00062
00064 float IsoValue;
00065
00067 float Color[3];
00068
00069
00070
void CastRay(
vtkVolumeRayCastDynamicInfo *dynamicInfo,
00071
vtkVolumeRayCastStaticInfo *staticInfo);
00072
00073
00074
protected:
00075 vtkVolumeRayCastIsosurfaceFunction();
00076 ~vtkVolumeRayCastIsosurfaceFunction();
00077
00078
00079
void SpecificFunctionInitialize(
vtkRenderer *ren,
00080
vtkVolume *vol,
00081
vtkVolumeRayCastStaticInfo *staticInfo,
00082
vtkVolumeRayCastMapper *mapper );
00083
00084
private:
00085 vtkVolumeRayCastIsosurfaceFunction(
const vtkVolumeRayCastIsosurfaceFunction&);
00086
void operator=(
const vtkVolumeRayCastIsosurfaceFunction&);
00087 };
00088
#endif