21#ifndef vtkEncodedGradientShader_h 
   22#define vtkEncodedGradientShader_h 
   25#include "vtkRenderingVolumeModule.h"  
   27VTK_ABI_NAMESPACE_BEGIN
 
   32#define VTK_MAX_SHADING_TABLES 100 
   50  vtkSetClampMacro(ZeroNormalDiffuseIntensity, 
float, 0.0f, 1.0f);
 
   51  vtkGetMacro(ZeroNormalDiffuseIntensity, 
float);
 
   52  vtkSetClampMacro(ZeroNormalSpecularIntensity, 
float, 0.0f, 1.0f);
 
   53  vtkGetMacro(ZeroNormalSpecularIntensity, 
float);
 
   79  vtkSetClampMacro(ActiveComponent, 
int, 0, 3);
 
   80  vtkGetMacro(ActiveComponent, 
int);
 
  102    double lightDiffuseColor[3], 
double lightSpecularColor[3], 
double lightIntensity,
 
Superclass for gradient estimation.
 
Compute shading tables for encoded normals.
 
float ZeroNormalSpecularIntensity
 
float * GetRedSpecularShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
 
float * GetRedDiffuseShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Print the vtkEncodedGradientShader.
 
float * GetBlueDiffuseShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
 
vtkEncodedGradientShader()
 
void UpdateShadingTable(vtkRenderer *ren, vtkVolume *vol, vtkEncodedGradientEstimator *gradest)
Cause the shading table to be updated.
 
~vtkEncodedGradientShader() override
 
float * GetGreenSpecularShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
 
float * GetGreenDiffuseShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
 
float * GetBlueSpecularShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
 
static vtkEncodedGradientShader * New()
 
void BuildShadingTable(int index, double lightDirection[3], double lightAmbientColor[3], double lightDiffuseColor[3], double lightSpecularColor[3], double lightIntensity, double viewDirection[3], double material[4], int twoSided, vtkEncodedGradientEstimator *gradest, int updateFlag)
Build a shading table for a light with the specified direction, and color for an object of the specif...
 
float ZeroNormalDiffuseIntensity
 
a simple class to control print indentation
 
abstract base class for most VTK objects
 
abstract specification for renderers
 
represents a volume (data & properties) in a rendered scene
 
#define VTK_MAX_SHADING_TABLES