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

# 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 =========================================================================*/
    00048 #ifndef __vtkVolumeRayCastCompositeFunction_h
    00049 #define __vtkVolumeRayCastCompositeFunction_h
    00050
    00051 #include "vtkVolumeRayCastFunction.h"
    00052
    00053 #define VTK_COMPOSITE_CLASSIFY_FIRST 0
    00054 #define VTK_COMPOSITE_INTERPOLATE_FIRST 1
    00055
    00056 class VTK_RENDERING_EXPORT vtkVolumeRayCastCompositeFunction : public vtkVolumeRayCastFunction
    00057 {
    00058 public:
    00059   static vtkVolumeRayCastCompositeFunction *New();
    00060   vtkTypeRevisionMacro(vtkVolumeRayCastCompositeFunction,vtkVolumeRayCastFunction);
    00061   void PrintSelf( ostream& os, vtkIndent indent );
    00062
    00064
    00065   vtkSetClampMacro( CompositeMethod, int,
    00066         VTK_COMPOSITE_CLASSIFY_FIRST, VTK_COMPOSITE_INTERPOLATE_FIRST );
    00067   vtkGetMacro(CompositeMethod,int);
    00068   void SetCompositeMethodToInterpolateFirst()
    00069     {this->SetCompositeMethod(VTK_COMPOSITE_INTERPOLATE_FIRST);}
    00070   void SetCompositeMethodToClassifyFirst()
    00071     {this->SetCompositeMethod(VTK_COMPOSITE_CLASSIFY_FIRST);}
    00072   const char *GetCompositeMethodAsString(void);
    00074
    00075 //BTX
    00076   void CastRay( vtkVolumeRayCastDynamicInfo *dynamicInfo,
    00077                 vtkVolumeRayCastStaticInfo *staticInfo);
    00078
    00079   float GetZeroOpacityThreshold( vtkVolume *vol );
    00080 //ETX
    00081
    00082 protected:
    00083   vtkVolumeRayCastCompositeFunction();
    00084   ~vtkVolumeRayCastCompositeFunction();
    00085
    00086 //BTX
    00087   void SpecificFunctionInitialize( vtkRenderer *ren,
    00088                                    vtkVolume   *vol,
    00089                                    vtkVolumeRayCastStaticInfo *staticInfo,
    00090                                    vtkVolumeRayCastMapper *mapper );
    00091 //ETX
    00092
    00093   int           CompositeMethod;
    00094 private:
    00095   vtkVolumeRayCastCompositeFunction(const vtkVolumeRayCastCompositeFunction&);  // Not implemented.
    00096   void operator=(const vtkVolumeRayCastCompositeFunction&);  // Not implemented.
    00097 };
    00098
    00099
    00100 #endif