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

vtkUnstructuredGridHomogeneousRayIntegrator.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkUnstructuredGridHomogeneousRayIntegrator.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 
00016 /*
00017  * Copyright 2004 Sandia Corporation.
00018  * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
00019  * license for use of this work by or on behalf of the
00020  * U.S. Government. Redistribution and use in source and binary forms, with
00021  * or without modification, are permitted provided that this Notice and any
00022  * statement of authorship are reproduced on all copies.
00023  */
00024 
00039 #ifndef __vtkUnstructuredGridHomogeneousRayIntegrator_h
00040 #define __vtkUnstructuredGridHomogeneousRayIntegrator_h
00041 
00042 #include "vtkUnstructuredGridVolumeRayIntegrator.h"
00043 
00044 class vtkVolumeProperty;
00045 
00046 class VTK_VOLUMERENDERING_EXPORT vtkUnstructuredGridHomogeneousRayIntegrator : public vtkUnstructuredGridVolumeRayIntegrator
00047 {
00048 public:
00049   vtkTypeRevisionMacro(vtkUnstructuredGridHomogeneousRayIntegrator,
00050                        vtkUnstructuredGridVolumeRayIntegrator);
00051   static vtkUnstructuredGridHomogeneousRayIntegrator *New();
00052   virtual void PrintSelf(ostream &os, vtkIndent indent);
00053 
00054   virtual void Initialize(vtkVolume *volume, vtkDataArray *scalars);
00055 
00056   virtual void Integrate(vtkDoubleArray *intersectionLengths,
00057                          vtkDataArray *nearIntersections,
00058                          vtkDataArray *farIntersections,
00059                          float color[4]);
00060 
00062 
00065   vtkSetMacro(TransferFunctionTableSize, int);
00066   vtkGetMacro(TransferFunctionTableSize, int);
00068 
00069 protected:
00070   vtkUnstructuredGridHomogeneousRayIntegrator();
00071   ~vtkUnstructuredGridHomogeneousRayIntegrator();
00072 
00073   vtkVolume *Volume;
00074   vtkVolumeProperty *Property;
00075 
00076   int      NumComponents;
00077   float  **ColorTable;
00078   float  **AttenuationTable;
00079   double  *TableShift;
00080   double  *TableScale;
00081   vtkTimeStamp TablesBuilt;
00082 
00083   int UseAverageColor;
00084   int TransferFunctionTableSize;
00085 
00086   virtual void GetTransferFunctionTables(vtkDataArray *scalars);
00087 
00088 private:
00089   vtkUnstructuredGridHomogeneousRayIntegrator(const vtkUnstructuredGridHomogeneousRayIntegrator&);  // Not implemented.
00090   void operator=(const vtkUnstructuredGridHomogeneousRayIntegrator&);  // Not implemented
00091 };
00092 
00093 #endif //__vtkUnstructuredGridHomogeneousRayIntegrator_h

Generated on Mon Jan 21 23:07:37 2008 for VTK by  doxygen 1.4.3-20050530