Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Rendering/vtkVolumeRayCastCompositeFunction.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkVolumeRayCastCompositeFunction.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 =========================================================================*/ 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 //BTX 00066 void CastRay( vtkVolumeRayCastDynamicInfo *dynamicInfo, 00067 vtkVolumeRayCastStaticInfo *staticInfo); 00068 00069 float GetZeroOpacityThreshold( vtkVolume *vol ); 00070 //ETX 00071 00072 protected: 00073 vtkVolumeRayCastCompositeFunction(); 00074 ~vtkVolumeRayCastCompositeFunction(); 00075 00076 //BTX 00077 void SpecificFunctionInitialize( vtkRenderer *ren, 00078 vtkVolume *vol, 00079 vtkVolumeRayCastStaticInfo *staticInfo, 00080 vtkVolumeRayCastMapper *mapper ); 00081 //ETX 00082 00083 int CompositeMethod; 00084 private: 00085 vtkVolumeRayCastCompositeFunction(const vtkVolumeRayCastCompositeFunction&); // Not implemented. 00086 void operator=(const vtkVolumeRayCastCompositeFunction&); // Not implemented. 00087 }; 00088 00089 00090 #endif