/usr/include/vtk-5.8/vtkVolumeMapper.h is in libvtk5-dev 5.8.0-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkVolumeMapper.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkVolumeMapper - Abstract class for a volume mapper
// .SECTION Description
// vtkVolumeMapper is the abstract definition of a volume mapper for regular
// rectilinear data (vtkImageData). Several basic types of volume mappers
// are supported.
// .SECTION see also
// vtkVolumeRayCastMapper vtkVolumeTextureMapper2D
#ifndef __vtkVolumeMapper_h
#define __vtkVolumeMapper_h
#include "vtkAbstractVolumeMapper.h"
class vtkRenderer;
class vtkVolume;
class vtkImageData;
#define VTK_CROP_SUBVOLUME 0x0002000
#define VTK_CROP_FENCE 0x2ebfeba
#define VTK_CROP_INVERTED_FENCE 0x5140145
#define VTK_CROP_CROSS 0x0417410
#define VTK_CROP_INVERTED_CROSS 0x7be8bef
class vtkWindow;
class VTK_VOLUMERENDERING_EXPORT vtkVolumeMapper : public vtkAbstractVolumeMapper
{
public:
vtkTypeMacro(vtkVolumeMapper,vtkAbstractVolumeMapper);
void PrintSelf( ostream& os, vtkIndent indent );
// Description:
// Set/Get the input data
virtual void SetInput( vtkImageData * );
virtual void SetInput( vtkDataSet * );
vtkImageData *GetInput();
// Description:
// Set/Get the blend mode. Currently this is only supported
// by the vtkFixedPointVolumeRayCastMapper - other mappers
// have different ways to set this (supplying a function
// to a vtkVolumeRayCastMapper) or don't have any options
// (vtkVolumeTextureMapper2D supports only compositing).
// Additive blend mode adds scalars along the ray and multiply them by
// their opacity mapping value.
vtkSetMacro( BlendMode, int );
void SetBlendModeToComposite()
{ this->SetBlendMode( vtkVolumeMapper::COMPOSITE_BLEND ); }
void SetBlendModeToMaximumIntensity()
{ this->SetBlendMode( vtkVolumeMapper::MAXIMUM_INTENSITY_BLEND ); }
void SetBlendModeToMinimumIntensity()
{ this->SetBlendMode( vtkVolumeMapper::MINIMUM_INTENSITY_BLEND ); }
void SetBlendModeToAdditive()
{ this->SetBlendMode( vtkVolumeMapper::ADDITIVE_BLEND ); }
vtkGetMacro( BlendMode, int );
// Description:
// Turn On/Off orthogonal cropping. (Clipping planes are
// perpendicular to the coordinate axes.)
vtkSetClampMacro(Cropping,int,0,1);
vtkGetMacro(Cropping,int);
vtkBooleanMacro(Cropping,int);
// Description:
// Set/Get the Cropping Region Planes ( xmin, xmax, ymin, ymax, zmin, zmax )
// These planes are defined in volume coordinates - spacing and origin are
// considered.
vtkSetVector6Macro( CroppingRegionPlanes, double );
vtkGetVectorMacro( CroppingRegionPlanes, double, 6 );
// Description:
// Get the cropping region planes in voxels. Only valid during the
// rendering process
vtkGetVectorMacro( VoxelCroppingRegionPlanes, double, 6 );
// Description:
// Set the flags for the cropping regions. The clipping planes divide the
// volume into 27 regions - there is one bit for each region. The regions
// start from the one containing voxel (0,0,0), moving along the x axis
// fastest, the y axis next, and the z axis slowest. These are represented
// from the lowest bit to bit number 27 in the integer containing the
// flags. There are several convenience functions to set some common
// configurations - subvolume (the default), fence (between any of the
// clip plane pairs), inverted fence, cross (between any two of the
// clip plane pairs) and inverted cross.
vtkSetClampMacro( CroppingRegionFlags, int, 0x0, 0x7ffffff );
vtkGetMacro( CroppingRegionFlags, int );
void SetCroppingRegionFlagsToSubVolume()
{this->SetCroppingRegionFlags( VTK_CROP_SUBVOLUME );};
void SetCroppingRegionFlagsToFence()
{this->SetCroppingRegionFlags( VTK_CROP_FENCE );};
void SetCroppingRegionFlagsToInvertedFence()
{this->SetCroppingRegionFlags( VTK_CROP_INVERTED_FENCE );};
void SetCroppingRegionFlagsToCross()
{this->SetCroppingRegionFlags( VTK_CROP_CROSS );};
void SetCroppingRegionFlagsToInvertedCross()
{this->SetCroppingRegionFlags( VTK_CROP_INVERTED_CROSS );};
//BTX
// Description:
// WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
// DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS
// Render the volume
virtual void Render(vtkRenderer *ren, vtkVolume *vol)=0;
// Description:
// WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE
// Release any graphics resources that are being consumed by this mapper.
// The parameter window could be used to determine which graphic
// resources to release.
virtual void ReleaseGraphicsResources(vtkWindow *) {};
enum
{
COMPOSITE_BLEND,
MAXIMUM_INTENSITY_BLEND,
MINIMUM_INTENSITY_BLEND,
ADDITIVE_BLEND
};
//ETX
protected:
vtkVolumeMapper();
~vtkVolumeMapper();
int BlendMode;
// Cropping variables, and a method for converting the world
// coordinate cropping region planes to voxel coordinates
int Cropping;
double CroppingRegionPlanes[6];
double VoxelCroppingRegionPlanes[6];
int CroppingRegionFlags;
void ConvertCroppingRegionPlanesToVoxels();
virtual int FillInputPortInformation(int, vtkInformation*);
private:
vtkVolumeMapper(const vtkVolumeMapper&); // Not implemented.
void operator=(const vtkVolumeMapper&); // Not implemented.
};
#endif
|