00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkVolumeRayCastIsosurfaceFunction.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00050 #ifndef __vtkVolumeRayCastIsosurfaceFunction_h 00051 #define __vtkVolumeRayCastIsosurfaceFunction_h 00052 00053 #include "vtkVolumeRayCastFunction.h" 00054 00055 class VTK_RENDERING_EXPORT vtkVolumeRayCastIsosurfaceFunction : public vtkVolumeRayCastFunction 00056 { 00057 public: 00058 vtkTypeRevisionMacro(vtkVolumeRayCastIsosurfaceFunction,vtkVolumeRayCastFunction); 00059 void PrintSelf( ostream& os, vtkIndent indent ); 00060 00062 static vtkVolumeRayCastIsosurfaceFunction *New(); 00063 00065 float GetZeroOpacityThreshold( vtkVolume *vol ); 00066 00068 00069 vtkSetMacro( IsoValue, float ); 00070 vtkGetMacro( IsoValue, float ); 00072 00073 00075 float IsoValue; 00076 00078 float Color[3]; 00079 00080 //BTX 00081 void CastRay( vtkVolumeRayCastDynamicInfo *dynamicInfo, 00082 vtkVolumeRayCastStaticInfo *staticInfo); 00083 //ETX 00084 00085 protected: 00086 vtkVolumeRayCastIsosurfaceFunction(); 00087 ~vtkVolumeRayCastIsosurfaceFunction(); 00088 00089 //BTX 00090 void SpecificFunctionInitialize( vtkRenderer *ren, 00091 vtkVolume *vol, 00092 vtkVolumeRayCastStaticInfo *staticInfo, 00093 vtkVolumeRayCastMapper *mapper ); 00094 //ETX 00095 private: 00096 vtkVolumeRayCastIsosurfaceFunction(const vtkVolumeRayCastIsosurfaceFunction&); // Not implemented. 00097 void operator=(const vtkVolumeRayCastIsosurfaceFunction&); // Not implemented. 00098 }; 00099 #endif