VTK  9.2.6
vtkSelectVisiblePoints.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkSelectVisiblePoints.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=========================================================================*/
60#ifndef vtkSelectVisiblePoints_h
61#define vtkSelectVisiblePoints_h
62
64#include "vtkRenderingCoreModule.h" // For export macro
65
66class vtkRenderer;
67class vtkMatrix4x4;
68
69class VTKRENDERINGCORE_EXPORT vtkSelectVisiblePoints : public vtkPolyDataAlgorithm
70{
71public:
73 void PrintSelf(ostream& os, vtkIndent indent) override;
74
80
82
87 {
88 if (this->Renderer != ren)
89 {
90 this->Renderer = ren;
91 this->Modified();
92 }
93 }
94 vtkRenderer* GetRenderer() { return this->Renderer; }
96
98
102 vtkSetMacro(SelectionWindow, vtkTypeBool);
103 vtkGetMacro(SelectionWindow, vtkTypeBool);
104 vtkBooleanMacro(SelectionWindow, vtkTypeBool);
106
108
112 vtkSetVector4Macro(Selection, int);
113 vtkGetVectorMacro(Selection, int, 4);
115
117
121 vtkSetMacro(SelectInvisible, vtkTypeBool);
122 vtkGetMacro(SelectInvisible, vtkTypeBool);
123 vtkBooleanMacro(SelectInvisible, vtkTypeBool);
125
127
133 vtkSetClampMacro(Tolerance, double, 0.0, VTK_DOUBLE_MAX);
134 vtkGetMacro(Tolerance, double);
136
138
145 vtkSetClampMacro(ToleranceWorld, double, 0.0, VTK_DOUBLE_MAX);
146 vtkGetMacro(ToleranceWorld, double);
148
153 float* Initialize(bool getZbuff);
154
159 bool IsPointOccluded(const double x[3], const float* zPtr);
160
165
166protected:
169
171 int FillInputPortInformation(int port, vtkInformation* info) override;
172
175
177 int Selection[4];
178 int InternalSelection[4];
180 double DirectionOfProjection[3];
181 double Tolerance;
183
184private:
186 void operator=(const vtkSelectVisiblePoints&) = delete;
187};
188
189#endif
a simple class to control print indentation
Definition vtkIndent.h:49
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.
Superclass for algorithms that produce only polydata as output.
abstract specification for renderers
Definition vtkRenderer.h:82
extract points that are visible (based on z-buffer calculation)
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:69
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define VTK_DOUBLE_MAX
Definition vtkType.h:165