Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Rendering/vtkVolumeRayCastStructures.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkVolumeRayCastStructures.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 00026 #ifndef __vtkVolumeRayCastStructures_h 00027 #define __vtkVolumeRayCastStructures_h 00028 00029 class vtkVolume; 00030 00031 typedef struct 00032 { 00033 // A pointer to the volume 00034 vtkVolume *Volume; 00035 00036 // Matrices for switching from view to volume coordinate, and back 00037 float WorldToVolumeMatrix[16]; 00038 float VolumeToWorldMatrix[16]; 00039 float ViewToVolumeMatrix[16]; 00040 00041 // The distance from the camera to the center of the volume 00042 // To be used as a simple depth return value 00043 float CenterDistance; 00044 00045 // The type of the data and a pointer to it, and the information 00046 // about its size, spacing, origin and precomputed increment 00047 int ScalarDataType; 00048 void *ScalarDataPointer; 00049 int DataIncrement[3]; 00050 int DataSize[3]; 00051 float DataSpacing[3]; 00052 float DataOrigin[3]; 00053 00054 // Information from the vtkVolumeProperty 00055 int Shading; 00056 int ColorChannels; 00057 float Color[3]; 00058 int InterpolationType; 00059 float RGBTextureCoefficient; 00060 00061 // The shading tables from the vtkEncodedGradientShader 00062 // that will be used for shading the volume. 00063 float *RedDiffuseShadingTable; 00064 float *GreenDiffuseShadingTable; 00065 float *BlueDiffuseShadingTable; 00066 float *RedSpecularShadingTable; 00067 float *GreenSpecularShadingTable; 00068 float *BlueSpecularShadingTable; 00069 00070 // Info needed to do solid textures - a pointer to the texture 00071 // and info about its size, spacing, origin, and precomputed 00072 // increments 00073 unsigned char *RGBDataPointer; 00074 int RGBDataIncrement[3]; 00075 int RGBDataSize[3]; 00076 float RGBDataSpacing[3]; 00077 float RGBDataOrigin[3]; 00078 00079 // Info needed from the gradient estimator 00080 unsigned short *EncodedNormals; 00081 unsigned char *GradientMagnitudes; 00082 00083 } vtkRayCastVolumeInfo; 00084 00085 00086 #endif