/usr/include/vtk-7.1/vtkProjectedTexture.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 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkProjectedTexture.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 vtkProjectedTexture
* @brief assign texture coordinates for a projected texture
*
* vtkProjectedTexture assigns texture coordinates to a dataset as if
* the texture was projected from a slide projected located somewhere in the
* scene. Methods are provided to position the projector and aim it at a
* location, to set the width of the projector's frustum, and to set the
* range of texture coordinates assigned to the dataset.
*
* Objects in the scene that appear behind the projector are also assigned
* texture coordinates; the projected image is left-right and top-bottom
* flipped, much as a lens' focus flips the rays of light that pass through
* it. A warning is issued if a point in the dataset falls at the focus
* of the projector.
*/
#ifndef vtkProjectedTexture_h
#define vtkProjectedTexture_h
#include "vtkFiltersModelingModule.h" // For export macro
#include "vtkDataSetAlgorithm.h"
#define VTK_PROJECTED_TEXTURE_USE_PINHOLE 0
#define VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS 1
class VTKFILTERSMODELING_EXPORT vtkProjectedTexture : public vtkDataSetAlgorithm
{
public:
static vtkProjectedTexture *New();
vtkTypeMacro(vtkProjectedTexture,vtkDataSetAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
//@{
/**
* Set/Get the position of the focus of the projector.
*/
vtkSetVector3Macro(Position,double);
vtkGetVectorMacro(Position,double,3);
//@}
//@{
/**
* Set/Get the focal point of the projector (a point that lies along
* the center axis of the projector's frustum).
*/
void SetFocalPoint(double focalPoint[3]);
void SetFocalPoint(double x, double y, double z);
vtkGetVectorMacro(FocalPoint,double,3);
//@}
//@{
/**
* Set/Get the camera mode of the projection -- pinhole projection or
* two mirror projection.
*/
vtkSetMacro(CameraMode, int);
vtkGetMacro(CameraMode, int);
void SetCameraModeToPinhole() {this->SetCameraMode(VTK_PROJECTED_TEXTURE_USE_PINHOLE);}
void SetCameraModeToTwoMirror() {this->SetCameraMode(VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS);}
//@}
//@{
/**
* Set/Get the mirror separation for the two mirror system.
*/
vtkSetMacro(MirrorSeparation, double);
vtkGetMacro(MirrorSeparation, double);
//@}
//@{
/**
* Get the normalized orientation vector of the projector.
*/
vtkGetVectorMacro(Orientation,double,3);
//@}
//@{
/**
* Set/Get the up vector of the projector.
*/
vtkSetVector3Macro(Up,double);
vtkGetVectorMacro(Up,double,3);
//@}
//@{
/**
* Set/Get the aspect ratio of a perpendicular cross-section of the
* the projector's frustum. The aspect ratio consists of three
* numbers: (x, y, z), where x is the width of the
* frustum, y is the height, and z is the perpendicular
* distance from the focus of the projector.
* For example, if the source of the image is a pinhole camera with
* view angle A, then you could set x=1, y=1, z=1/tan(A).
*/
vtkSetVector3Macro(AspectRatio,double);
vtkGetVectorMacro(AspectRatio,double,3);
//@}
//@{
/**
* Specify s-coordinate range for texture s-t coordinate pair.
*/
vtkSetVector2Macro(SRange,double);
vtkGetVectorMacro(SRange,double,2);
//@}
//@{
/**
* Specify t-coordinate range for texture s-t coordinate pair.
*/
vtkSetVector2Macro(TRange,double);
vtkGetVectorMacro(TRange,double,2);
//@}
protected:
vtkProjectedTexture();
~vtkProjectedTexture() {}
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
void ComputeNormal();
int CameraMode;
double Position[3];
double Orientation[3];
double FocalPoint[3];
double Up[3];
double MirrorSeparation;
double AspectRatio[3];
double SRange[2];
double TRange[2];
private:
vtkProjectedTexture(const vtkProjectedTexture&) VTK_DELETE_FUNCTION;
void operator=(const vtkProjectedTexture&) VTK_DELETE_FUNCTION;
};
#endif
|