VTK  9.3.1
vtkProjectedTexture.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
20 #ifndef vtkProjectedTexture_h
21 #define vtkProjectedTexture_h
22 
23 #include "vtkDataSetAlgorithm.h"
24 #include "vtkFiltersModelingModule.h" // For export macro
25 
26 #define VTK_PROJECTED_TEXTURE_USE_PINHOLE 0
27 #define VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS 1
28 
29 VTK_ABI_NAMESPACE_BEGIN
30 class VTKFILTERSMODELING_EXPORT vtkProjectedTexture : public vtkDataSetAlgorithm
31 {
32 public:
33  static vtkProjectedTexture* New();
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
38 
41  vtkSetVector3Macro(Position, double);
42  vtkGetVectorMacro(Position, double, 3);
44 
46 
50  void SetFocalPoint(double focalPoint[3]);
51  void SetFocalPoint(double x, double y, double z);
52  vtkGetVectorMacro(FocalPoint, double, 3);
54 
56 
60  vtkSetMacro(CameraMode, int);
61  vtkGetMacro(CameraMode, int);
65 
67 
70  vtkSetMacro(MirrorSeparation, double);
71  vtkGetMacro(MirrorSeparation, double);
73 
75 
78  vtkGetVectorMacro(Orientation, double, 3);
80 
82 
85  vtkSetVector3Macro(Up, double);
86  vtkGetVectorMacro(Up, double, 3);
88 
90 
100  vtkSetVector3Macro(AspectRatio, double);
101  vtkGetVectorMacro(AspectRatio, double, 3);
103 
105 
108  vtkSetVector2Macro(SRange, double);
109  vtkGetVectorMacro(SRange, double, 2);
111 
113 
116  vtkSetVector2Macro(TRange, double);
117  vtkGetVectorMacro(TRange, double, 2);
119 
120 protected:
122  ~vtkProjectedTexture() override = default;
123 
125  void ComputeNormal();
126 
128 
129  double Position[3];
130  double Orientation[3];
131  double FocalPoint[3];
132  double Up[3];
134  double AspectRatio[3];
135  double SRange[2];
136  double TRange[2];
137 
138 private:
139  vtkProjectedTexture(const vtkProjectedTexture&) = delete;
140  void operator=(const vtkProjectedTexture&) = delete;
141 };
142 
143 VTK_ABI_NAMESPACE_END
144 #endif
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:28
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()