VTK
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 =========================================================================*/
32 #ifndef vtkProjectedTexture_h
33 #define vtkProjectedTexture_h
34 
35 #include "vtkFiltersModelingModule.h" // For export macro
36 #include "vtkDataSetAlgorithm.h"
37 
38 #define VTK_PROJECTED_TEXTURE_USE_PINHOLE 0
39 #define VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS 1
40 
41 class VTKFILTERSMODELING_EXPORT vtkProjectedTexture : public vtkDataSetAlgorithm
42 {
43 public:
44  static vtkProjectedTexture *New();
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
49 
52  vtkSetVector3Macro(Position,double);
53  vtkGetVectorMacro(Position,double,3);
55 
57 
61  void SetFocalPoint(double focalPoint[3]);
62  void SetFocalPoint(double x, double y, double z);
63  vtkGetVectorMacro(FocalPoint,double,3);
65 
67 
71  vtkSetMacro(CameraMode, int);
72  vtkGetMacro(CameraMode, int);
76 
78 
81  vtkSetMacro(MirrorSeparation, double);
82  vtkGetMacro(MirrorSeparation, double);
84 
86 
89  vtkGetVectorMacro(Orientation,double,3);
91 
93 
96  vtkSetVector3Macro(Up,double);
97  vtkGetVectorMacro(Up,double,3);
99 
101 
111  vtkSetVector3Macro(AspectRatio,double);
112  vtkGetVectorMacro(AspectRatio,double,3);
114 
116 
119  vtkSetVector2Macro(SRange,double);
120  vtkGetVectorMacro(SRange,double,2);
122 
124 
127  vtkSetVector2Macro(TRange,double);
128  vtkGetVectorMacro(TRange,double,2);
130 
131 protected:
133  ~vtkProjectedTexture() override {}
134 
136  void ComputeNormal();
137 
139 
140  double Position[3];
141  double Orientation[3];
142  double FocalPoint[3];
143  double Up[3];
145  double AspectRatio[3];
146  double SRange[2];
147  double TRange[2];
148 private:
149  vtkProjectedTexture(const vtkProjectedTexture&) = delete;
150  void operator=(const vtkProjectedTexture&) = delete;
151 };
152 
153 #endif
154 
assign texture coordinates for a projected texture
Store vtkAlgorithm input/output information.
void SetCameraModeToTwoMirror()
Set/Get the camera mode of the projection – pinhole projection or two mirror projection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
void SetCameraModeToPinhole()
Set/Get the camera mode of the projection – pinhole projection or two mirror projection.
#define VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS
Store zero or more vtkInformation instances.
Superclass for algorithms that produce output of the same type as input.
#define VTK_PROJECTED_TEXTURE_USE_PINHOLE
static vtkDataSetAlgorithm * New()