Commit f68cc0bc authored by David E. DeMarle's avatar David E. DeMarle

Merge commit 'c08a4b50' into release

parents 15588737 c08a4b50
...@@ -334,10 +334,10 @@ public: ...@@ -334,10 +334,10 @@ public:
}; };
vtkSetClampMacro(VectorMode, int, -1, 1); vtkSetClampMacro(VectorMode, int, -1, 1);
vtkSetClampMacro(VectorComponent, int, 0, 3); vtkGetMacro(VectorMode, int);
int VectorMode; vtkSetClampMacro(VectorComponent, int, 0, 3);
int VectorComponent; vtkGetMacro(VectorComponent, int);
//@} //@}
protected: protected:
...@@ -358,32 +358,52 @@ protected: ...@@ -358,32 +358,52 @@ protected:
*/ */
void ConnectFilterInput(vtkImageResample *f); void ConnectFilterInput(vtkImageResample *f);
// Window / level ivars //@{
/**
* Window / level ivars
*/
float FinalColorWindow; float FinalColorWindow;
float FinalColorLevel; float FinalColorLevel;
//@}
// GPU mapper-specific memory ivars. //@{
/**
* GPU mapper-specific memory ivars.
*/
vtkIdType MaxMemoryInBytes; vtkIdType MaxMemoryInBytes;
float MaxMemoryFraction; float MaxMemoryFraction;
//@}
// Used for downsampling. /**
* Used for downsampling.
*/
int InterpolationMode; int InterpolationMode;
// The requested render mode is used to compute the current render mode. Note //@{
// that the current render mode can be invalid if the requested mode is not /**
// supported. * The requested render mode is used to compute the current render mode. Note
* that the current render mode can be invalid if the requested mode is not
* supported.
*/
int RequestedRenderMode; int RequestedRenderMode;
int CurrentRenderMode; int CurrentRenderMode;
//@}
// Initialization variables. //@{
/**
* Initialization variables.
*/
int Initialized; int Initialized;
vtkTimeStamp SupportStatusCheckTime; vtkTimeStamp SupportStatusCheckTime;
int GPUSupported; int GPUSupported;
int RayCastSupported; int RayCastSupported;
int LowResGPUNecessary; int LowResGPUNecessary;
//@}
// This is the resample filter that may be used if we need to /**
// create a low resolution version of the volume for GPU rendering * This is the resample filter that may be used if we need to
* create a low resolution version of the volume for GPU rendering
*/
vtkImageResample* GPUResampleFilter; vtkImageResample* GPUResampleFilter;
//@{ //@{
...@@ -400,46 +420,76 @@ protected: ...@@ -400,46 +420,76 @@ protected:
vtkImageData* InputDataMagnitude; vtkImageData* InputDataMagnitude;
//@} //@}
// The initialize method. Called from ComputeRenderMode whenever something /**
// relevant has changed. * The initialize method. Called from ComputeRenderMode whenever something
* relevant has changed.
*/
void Initialize(vtkRenderer *ren, void Initialize(vtkRenderer *ren,
vtkVolume *vol); vtkVolume *vol);
// The method that computes the render mode from the requested render mode /**
// based on the support status for each render method. * The method that computes the render mode from the requested render mode
* based on the support status for each render method.
*/
void ComputeRenderMode(vtkRenderer *ren, void ComputeRenderMode(vtkRenderer *ren,
vtkVolume *vol); vtkVolume *vol);
// The three potential mappers //@{
/**
* The three potential mappers
*/
vtkGPUVolumeRayCastMapper *GPULowResMapper; vtkGPUVolumeRayCastMapper *GPULowResMapper;
vtkGPUVolumeRayCastMapper *GPUMapper; vtkGPUVolumeRayCastMapper *GPUMapper;
vtkFixedPointVolumeRayCastMapper *RayCastMapper; vtkFixedPointVolumeRayCastMapper *RayCastMapper;
//@}
// We need to keep track of the blend mode we had when we initialized /**
// because we need to reinitialize (and recheck hardware support) if * We need to keep track of the blend mode we had when we initialized
// it changes * because we need to reinitialize (and recheck hardware support) if
* it changes
*/
int InitializedBlendMode; int InitializedBlendMode;
// The distance between sample points along the ray /**
* The distance between sample points along the ray
*/
float SampleDistance; float SampleDistance;
// Set whether or not the sample distance should be automatically calculated /**
// within the internal volume mapper * Set whether or not the sample distance should be automatically calculated
* within the internal volume mapper
*/
int AutoAdjustSampleDistances; int AutoAdjustSampleDistances;
// If the DesiredUpdateRate of the vtkRenderWindow causing the Render is at /**
// or above this value, the render is considered interactive. Otherwise it is * If the DesiredUpdateRate of the vtkRenderWindow causing the Render is at
// considered still. * or above this value, the render is considered interactive. Otherwise it is
* considered still.
*/
double InteractiveUpdateRate; double InteractiveUpdateRate;
// If the InteractiveAdjustSampleDistances flag is enabled, /**
// vtkSmartVolumeMapper interactively sets and resets the * If the InteractiveAdjustSampleDistances flag is enabled,
// AutoAdjustSampleDistances flag on the internal volume mapper. This flag * vtkSmartVolumeMapper interactively sets and resets the
// along with InteractiveUpdateRate is useful to adjust volume mapper sample * AutoAdjustSampleDistances flag on the internal volume mapper. This flag
// distance based on whether the render is interactive or still. * along with InteractiveUpdateRate is useful to adjust volume mapper sample
* distance based on whether the render is interactive or still.
*/
int InteractiveAdjustSampleDistances; int InteractiveAdjustSampleDistances;
//@{
/**
* VectorMode is a special rendering mode for 3-component vectors which makes
* use of GPURayCastMapper's independent-component capabilities. In this mode,
* a single component in the vector can be selected for rendering. In addition,
* the mapper can compute a scalar field representing the magnitude of this vector
* using a vtkImageMagnitude object (MAGNITUDE mode).
*/
int VectorMode;
int VectorComponent;
//@}
private: private:
/** /**
* Adjust the GPUMapper's parameters (ColorTable, Weights, etc.) to render * Adjust the GPUMapper's parameters (ColorTable, Weights, etc.) to render
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment