VTK  9.2.6
vtkSphericalDirectionEncoder.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkSphericalDirectionEncoder.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
25
26#ifndef vtkSphericalDirectionEncoder_h
27#define vtkSphericalDirectionEncoder_h
28
29#include "vtkDirectionEncoder.h"
30#include "vtkRenderingVolumeModule.h" // For export macro
31
32class VTKRENDERINGVOLUME_EXPORT vtkSphericalDirectionEncoder : public vtkDirectionEncoder
33{
34public:
36 void PrintSelf(ostream& os, vtkIndent indent) override;
37
44
48 int GetEncodedDirection(float n[3]) override;
49
53 float* GetDecodedGradient(int value) VTK_SIZEHINT(3) override;
54
58 int GetNumberOfEncodedDirections(void) override { return 65536; }
59
66 float* GetDecodedGradientTable(void) override { return &(this->DecodedGradientTable[0]); }
67
68protected:
71
72 static float DecodedGradientTable[65536 * 3];
73
75
81
82private:
84 void operator=(const vtkSphericalDirectionEncoder&) = delete;
85};
86
87#endif
vtkDirectionEncoder()=default
a simple class to control print indentation
Definition vtkIndent.h:34
int GetNumberOfEncodedDirections(void) override
Return the number of encoded directions.
static int DecodedGradientTableInitialized
Initialize the table at startup.
static void InitializeDecodedGradientTable()
Initialize the table at startup.
float * GetDecodedGradient(int value) override
/ Given an encoded value, return a pointer to the normal vector
static vtkSphericalDirectionEncoder * New()
Construct the object.
int GetEncodedDirection(float n[3]) override
Given a normal vector n, return the encoded direction.
~vtkSphericalDirectionEncoder() override
void PrintSelf(ostream &os, vtkIndent indent) override
Get the name of this class.
float * GetDecodedGradientTable(void) override
Get the decoded gradient table.
#define VTK_SIZEHINT(...)