VTK  9.2.6
vtkProjectedTexture.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkProjectedTexture.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
51 #ifndef vtkProjectedTexture_h
52 #define vtkProjectedTexture_h
53 
54 #include "vtkDataSetAlgorithm.h"
55 #include "vtkFiltersModelingModule.h" // For export macro
56 
57 #define VTK_PROJECTED_TEXTURE_USE_PINHOLE 0
58 #define VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS 1
59 
60 class VTKFILTERSMODELING_EXPORT vtkProjectedTexture : public vtkDataSetAlgorithm
61 {
62 public:
65  void PrintSelf(ostream& os, vtkIndent indent) override;
66 
68 
71  vtkSetVector3Macro(Position, double);
72  vtkGetVectorMacro(Position, double, 3);
74 
76 
80  void SetFocalPoint(double focalPoint[3]);
81  void SetFocalPoint(double x, double y, double z);
82  vtkGetVectorMacro(FocalPoint, double, 3);
84 
86 
90  vtkSetMacro(CameraMode, int);
91  vtkGetMacro(CameraMode, int);
95 
97 
100  vtkSetMacro(MirrorSeparation, double);
101  vtkGetMacro(MirrorSeparation, double);
103 
105 
108  vtkGetVectorMacro(Orientation, double, 3);
110 
112 
115  vtkSetVector3Macro(Up, double);
116  vtkGetVectorMacro(Up, double, 3);
118 
120 
130  vtkSetVector3Macro(AspectRatio, double);
131  vtkGetVectorMacro(AspectRatio, double, 3);
133 
135 
138  vtkSetVector2Macro(SRange, double);
139  vtkGetVectorMacro(SRange, double, 2);
141 
143 
146  vtkSetVector2Macro(TRange, double);
147  vtkGetVectorMacro(TRange, double, 2);
149 
150 protected:
152  ~vtkProjectedTexture() override = default;
153 
156 
158 
159  double Position[3];
160  double Orientation[3];
161  double FocalPoint[3];
162  double Up[3];
164  double AspectRatio[3];
165  double SRange[2];
166  double TRange[2];
167 
168 private:
169  vtkProjectedTexture(const vtkProjectedTexture&) = delete;
170  void operator=(const vtkProjectedTexture&) = delete;
171 };
172 
173 #endif
Superclass for algorithms that produce output of the same type as input.
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
assign texture coordinates for a projected texture
void SetCameraModeToPinhole()
Set/Get the camera mode of the projection – pinhole projection or two mirror projection.
static vtkProjectedTexture * New()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
void SetFocalPoint(double focalPoint[3])
Set/Get the focal point of the projector (a point that lies along the center axis of the projector's ...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetCameraModeToTwoMirror()
Set/Get the camera mode of the projection – pinhole projection or two mirror projection.
void SetFocalPoint(double x, double y, double z)
Set/Get the focal point of the projector (a point that lies along the center axis of the projector's ...
~vtkProjectedTexture() override=default
#define VTK_PROJECTED_TEXTURE_USE_PINHOLE
#define VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS