00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkDirectionEncoder.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 =========================================================================*/ 00016 00049 #ifndef __vtkDirectionEncoder_h 00050 #define __vtkDirectionEncoder_h 00051 00052 #include "vtkObject.h" 00053 00054 class VTK_RENDERING_EXPORT vtkDirectionEncoder : public vtkObject 00055 { 00056 public: 00058 00059 vtkTypeRevisionMacro(vtkDirectionEncoder,vtkObject); 00060 virtual void PrintSelf(ostream& os, vtkIndent indent); 00062 00064 virtual int GetEncodedDirection( float n[3] )=0; 00065 00067 virtual float *GetDecodedGradient( int value )=0; 00068 00070 virtual int GetNumberOfEncodedDirections( void )=0; 00071 00076 virtual float *GetDecodedGradientTable( void )=0; 00077 00078 protected: 00079 vtkDirectionEncoder() {}; 00080 ~vtkDirectionEncoder() {}; 00081 private: 00082 vtkDirectionEncoder(const vtkDirectionEncoder&); // Not implemented. 00083 void operator=(const vtkDirectionEncoder&); // Not implemented. 00084 }; 00085 00086 00087 #endif 00088 00089 00090 00091 00092 00093 00094