vtkRecursiveSphereDirectionEncoder.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00039 #ifndef __vtkRecursiveSphereDirectionEncoder_h
00040 #define __vtkRecursiveSphereDirectionEncoder_h
00041
00042 #include "vtkDirectionEncoder.h"
00043
00044 class VTK_RENDERING_EXPORT vtkRecursiveSphereDirectionEncoder : public vtkDirectionEncoder
00045 {
00046 public:
00047 vtkTypeRevisionMacro(vtkRecursiveSphereDirectionEncoder,vtkDirectionEncoder);
00048 void PrintSelf( ostream& os, vtkIndent indent );
00049
00052 static vtkRecursiveSphereDirectionEncoder *New();
00053
00054
00056 int GetEncodedDirection( float n[3] );
00057
00059 float *GetDecodedGradient( int value );
00060
00062 int GetNumberOfEncodedDirections( void );
00063
00068 float *GetDecodedGradientTable( void );
00069
00071
00083 vtkSetClampMacro( RecursionDepth, int, 0, 6 );
00084 vtkGetMacro( RecursionDepth, int );
00086
00087 protected:
00088 vtkRecursiveSphereDirectionEncoder();
00089 ~vtkRecursiveSphereDirectionEncoder();
00090
00091
00092 int RecursionDepth;
00093
00094
00095
00096
00097 int *IndexTable;
00098
00099
00100
00101
00102
00103 float *DecodedNormal;
00104
00105
00106
00107
00108 void InitializeIndexTable( void );
00109 int IndexTableRecursionDepth;
00110
00111 int OuterSize;
00112 int InnerSize;
00113 int GridSize;
00114 private:
00115 vtkRecursiveSphereDirectionEncoder(const vtkRecursiveSphereDirectionEncoder&);
00116 void operator=(const vtkRecursiveSphereDirectionEncoder&);
00117 };
00118
00119
00120 #endif
00121