/usr/include/vtk-7.1/vtkImageSlice.h is in libvtk7-dev 7.1.1+dfsg1-2.
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 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkImageSlice.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.
=========================================================================*/
/**
* @class vtkImageSlice
* @brief represents an image in a 3D scene
*
* vtkImageSlice is used to represent an image in a 3D scene. It displays
* the image either as a slice or as a projection from the camera's
* perspective. Adjusting the position and orientation of the slice
* is done by adjusting the focal point and direction of the camera,
* or alternatively the slice can be set manually in vtkImageMapper3D.
* The lookup table and window/leve are set in vtkImageProperty.
* Prop3D methods such as SetPosition() and RotateWXYZ() change the
* position and orientation of the data with respect to VTK world
* coordinates.
* @par Thanks:
* Thanks to David Gobbi at the Seaman Family MR Centre and Dept. of Clinical
* Neurosciences, Foothills Medical Centre, Calgary, for providing this class.
* @sa
* vtkImageMapper3D vtkImageProperty vtkProp3D
*/
#ifndef vtkImageSlice_h
#define vtkImageSlice_h
#include "vtkRenderingCoreModule.h" // For export macro
#include "vtkProp3D.h"
class vtkRenderer;
class vtkPropCollection;
class vtkImageProperty;
class vtkImageMapper3D;
class VTKRENDERINGCORE_EXPORT vtkImageSlice : public vtkProp3D
{
public:
vtkTypeMacro(vtkImageSlice,vtkProp3D);
void PrintSelf(ostream& os, vtkIndent indent);
/**
* Creates an Image with the following defaults: origin(0,0,0)
* position=(0,0,0) scale=1 visibility=1 pickable=1 dragable=1
* orientation=(0,0,0).
*/
static vtkImageSlice *New();
//@{
/**
* Set/Get the mapper.
*/
void SetMapper(vtkImageMapper3D *mapper);
vtkGetObjectMacro(Mapper, vtkImageMapper3D);
//@}
//@{
/**
* Set/Get the image display properties.
*/
void SetProperty(vtkImageProperty *property);
virtual vtkImageProperty *GetProperty();
//@}
/**
* Update the rendering pipeline by updating the ImageMapper
*/
void Update();
//@{
/**
* Get the bounds - either all six at once
* (xmin, xmax, ymin, ymax, zmin, zmax) or one at a time.
*/
double *GetBounds();
void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds( bounds ); };
double GetMinXBound();
double GetMaxXBound();
double GetMinYBound();
double GetMaxYBound();
double GetMinZBound();
double GetMaxZBound();
//@}
/**
* Return the MTime also considering the property etc.
*/
vtkMTimeType GetMTime();
/**
* Return the mtime of anything that would cause the rendered image to
* appear differently. Usually this involves checking the mtime of the
* prop plus anything else it depends on such as properties, mappers,
* etc.
*/
vtkMTimeType GetRedrawMTime();
//@{
/**
* Force the actor to be treated as translucent.
*/
vtkGetMacro(ForceTranslucent, bool);
vtkSetMacro(ForceTranslucent, bool);
vtkBooleanMacro(ForceTranslucent, bool);
//@}
/**
* Shallow copy of this vtkImageSlice. Overloads the virtual vtkProp method.
*/
void ShallowCopy(vtkProp *prop);
/**
* For some exporters and other other operations we must be
* able to collect all the actors, volumes, and images. These
* methods are used in that process.
*/
void GetImages(vtkPropCollection *);
//@{
/**
* Support the standard render methods.
*/
virtual int RenderOverlay(vtkViewport *viewport);
virtual int RenderOpaqueGeometry(vtkViewport *viewport);
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
//@}
/**
* Internal method, should only be used by rendering.
* This method will always return 0 unless ForceTranslucent is On.
*/
virtual int HasTranslucentPolygonalGeometry();
/**
* This causes the image and its mapper to be rendered. Note that a side
* effect of this method is that the pipeline will be updated.
*/
virtual void Render(vtkRenderer *);
/**
* Release any resources held by this prop.
*/
void ReleaseGraphicsResources(vtkWindow *win);
/**
* For stacked image rendering, set the pass. The first pass
* renders just the backing polygon, the second pass renders
* the image, and the third pass renders the depth buffer.
* Set to -1 to render all of these in the same pass.
*/
void SetStackedImagePass(int pass);
protected:
vtkImageSlice();
~vtkImageSlice();
vtkImageMapper3D *Mapper;
vtkImageProperty *Property;
bool ForceTranslucent;
private:
vtkImageSlice(const vtkImageSlice&) VTK_DELETE_FUNCTION;
void operator=(const vtkImageSlice&) VTK_DELETE_FUNCTION;
};
#endif
|