VTK  9.7.20260911
vtkSelectVisiblePoints.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
67
68#ifndef vtkSelectVisiblePoints_h
69#define vtkSelectVisiblePoints_h
70
72#include "vtkRenderingCoreModule.h" // For export macro
73#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
74
75VTK_ABI_NAMESPACE_BEGIN
76class vtkRenderer;
77class vtkMatrix4x4;
78
79class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkSelectVisiblePoints : public vtkPolyDataAlgorithm
80{
81public:
83 void PrintSelf(ostream& os, vtkIndent indent) override;
84
90
92
97 {
98 if (this->Renderer != ren)
99 {
100 this->Renderer = ren;
101 this->Modified();
102 }
103 }
104 vtkRenderer* GetRenderer() { return this->Renderer; }
106
108
114 vtkBooleanMacro(SelectionWindow, vtkTypeBool);
116
118
122 vtkSetVector4Macro(Selection, int);
123 vtkGetVectorMacro(Selection, int, 4);
125
127
133 vtkBooleanMacro(SelectInvisible, vtkTypeBool);
135
137
143 vtkSetClampMacro(Tolerance, double, 0.0, VTK_DOUBLE_MAX);
144 vtkGetMacro(Tolerance, double);
146
148
155 vtkSetClampMacro(ToleranceWorld, double, 0.0, VTK_DOUBLE_MAX);
156 vtkGetMacro(ToleranceWorld, double);
158
163 float* Initialize(bool getZbuff);
164
169 bool IsPointOccluded(const double x[3], const float* zPtr);
170
175
176protected:
179
181 int FillInputPortInformation(int port, vtkInformation* info) override;
182
185
187 int Selection[4];
191 double Tolerance;
193
194private:
196 void operator=(const vtkSelectVisiblePoints&) = delete;
197};
198
199VTK_ABI_NAMESPACE_END
200#endif
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 4x4 transformation matrices
virtual void Modified()
Update the modification time for this object.
abstract specification for renderers
vtkMatrix4x4 * CompositePerspectiveTransform
~vtkSelectVisiblePoints() override
void SetRenderer(vtkRenderer *ren)
Specify the renderer in which the visibility computation is to be performed.
vtkMTimeType GetMTime() override
Return MTime also considering the renderer.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkRenderer * GetRenderer()
Specify the renderer in which the visibility computation is to be performed.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkSelectVisiblePoints * New()
Instantiate object with no renderer; window selection turned off; tolerance set to 0....
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
float * Initialize(bool getZbuff)
Requires the renderer to be set.
bool IsPointOccluded(const double x[3], const float *zPtr)
Tests if a point x is being occluded or not against the Z-Buffer array passed in by zPtr.
int vtkTypeBool
Definition vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:318
#define VTK_DOUBLE_MAX
Definition vtkType.h:202
#define VTK_MARSHALAUTO