22#ifndef vtkEncodedGradientEstimator_h
23#define vtkEncodedGradientEstimator_h
26#include "vtkRenderingVolumeModule.h"
27#include "vtkThreads.h"
29VTK_ABI_NAMESPACE_BEGIN
encode a direction into a one or two byte value
float ZeroNormalThreshold
virtual void UpdateNormals()=0
void ComputeCircleLimits(int size)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkEncodedGradientEstimator() override
float LastUpdateTimeInCPUSeconds
virtual void SetInputData(vtkImageData *)
Set/Get the scalar input for which the normals will be calculated.
vtkDirectionEncoder * DirectionEncoder
unsigned short * GetEncodedNormals()
Get the encoded normals.
float GradientMagnitudeBias
void ReportReferences(vtkGarbageCollector *) override
void SetDirectionEncoder(vtkDirectionEncoder *direnc)
Set / Get the direction encoder used to encode normal directions to fit within two bytes.
void SetZeroNormalThreshold(float v)
Set / Get the ZeroNormalThreshold - this defines the minimum magnitude of a gradient that is consider...
unsigned char * GradientMagnitudes
vtkTypeBool ComputeGradientMagnitudes
int EncodedNormalsSize[3]
unsigned char * GetGradientMagnitudes()
Get the gradient magnitudes.
vtkMultiThreader * Threader
float LastUpdateTimeInSeconds
float GradientMagnitudeScale
int GetEncodedNormalIndex(int xIndex, int yIndex, int zIndex)
Get the encoded normal at an x,y,z location in the volume.
int GetEncodedNormalIndex(vtkIdType xyzIndex)
Get the encoded normal at an x,y,z location in the volume.
vtkEncodedGradientEstimator()
unsigned short * EncodedNormals
void Update()
Recompute the encoded normals and gradient magnitudes.
topologically and geometrically regular array of data
a simple class to control print indentation
A class for performing multithreaded execution.
friend class vtkGarbageCollector
Some classes need to clear the reference counts manually due to the way they work.
record modification and/or execution time