VTK  9.3.0
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
29 #ifndef vtkProjectedTexture_h
30 #define vtkProjectedTexture_h
31 
32 #include "vtkDataSetAlgorithm.h"
33 #include "vtkFiltersModelingModule.h" // For export macro
34 
35 #define VTK_PROJECTED_TEXTURE_USE_PINHOLE 0
36 #define VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS 1
37 
38 VTK_ABI_NAMESPACE_BEGIN
39 class VTKFILTERSMODELING_EXPORT vtkProjectedTexture : public vtkDataSetAlgorithm
40 {
41 public:
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
47 
50  vtkSetVector3Macro(Position, double);
51  vtkGetVectorMacro(Position, double, 3);
53 
55 
59  void SetFocalPoint(double focalPoint[3]);
60  void SetFocalPoint(double x, double y, double z);
61  vtkGetVectorMacro(FocalPoint, double, 3);
63 
65 
69  vtkSetMacro(CameraMode, int);
70  vtkGetMacro(CameraMode, int);
74 
76 
79  vtkSetMacro(MirrorSeparation, double);
80  vtkGetMacro(MirrorSeparation, double);
82 
84 
87  vtkGetVectorMacro(Orientation, double, 3);
89 
91 
94  vtkSetVector3Macro(Up, double);
95  vtkGetVectorMacro(Up, double, 3);
97 
99 
109  vtkSetVector3Macro(AspectRatio, double);
110  vtkGetVectorMacro(AspectRatio, double, 3);
112 
114 
117  vtkSetVector2Macro(SRange, double);
118  vtkGetVectorMacro(SRange, double, 2);
120 
122 
125  vtkSetVector2Macro(TRange, double);
126  vtkGetVectorMacro(TRange, double, 2);
128 
129 protected:
131  ~vtkProjectedTexture() override = default;
132 
135 
137 
138  double Position[3];
139  double Orientation[3];
140  double FocalPoint[3];
141  double Up[3];
143  double AspectRatio[3];
144  double SRange[2];
145  double TRange[2];
146 
147 private:
148  vtkProjectedTexture(const vtkProjectedTexture&) = delete;
149  void operator=(const vtkProjectedTexture&) = delete;
150 };
151 
152 VTK_ABI_NAMESPACE_END
153 #endif
Superclass for algorithms that produce output of the same type as input.
a simple class to control print indentation
Definition: vtkIndent.h:38
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