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=========================================================================*/
45#ifndef vtkSelectVisiblePoints_h
46#define vtkSelectVisiblePoints_h
47
49#include "vtkRenderingCoreModule.h" // For export macro
50
51class vtkRenderer;
52class vtkMatrix4x4;
53
54class VTKRENDERINGCORE_EXPORT vtkSelectVisiblePoints : public vtkPolyDataAlgorithm
55{
56public:
58 void PrintSelf(ostream& os, vtkIndent indent) override;
59
65
67
72 {
73 if (this->Renderer != ren)
74 {
75 this->Renderer = ren;
76 this->Modified();
77 }
78 }
79 vtkRenderer* GetRenderer() { return this->Renderer; }
81
83
87 vtkSetMacro(SelectionWindow, vtkTypeBool);
88 vtkGetMacro(SelectionWindow, vtkTypeBool);
89 vtkBooleanMacro(SelectionWindow, vtkTypeBool);
91
93
97 vtkSetVector4Macro(Selection, int);
98 vtkGetVectorMacro(Selection, int, 4);
100
102
106 vtkSetMacro(SelectInvisible, vtkTypeBool);
107 vtkGetMacro(SelectInvisible, vtkTypeBool);
108 vtkBooleanMacro(SelectInvisible, vtkTypeBool);
110
112
118 vtkSetClampMacro(Tolerance, double, 0.0, VTK_DOUBLE_MAX);
119 vtkGetMacro(Tolerance, double);
121
123
130 vtkSetClampMacro(ToleranceWorld, double, 0.0, VTK_DOUBLE_MAX);
131 vtkGetMacro(ToleranceWorld, double);
133
138 float* Initialize(bool getZbuff);
139
144 bool IsPointOccluded(const double x[3], const float* zPtr);
145
150
151protected:
154
156 int FillInputPortInformation(int port, vtkInformation* info) override;
157
160
162 int Selection[4];
163 int InternalSelection[4];
165 double DirectionOfProjection[3];
166 double Tolerance;
168
169private:
171 void operator=(const vtkSelectVisiblePoints&) = delete;
172};
173
174#endif
a simple class to control print indentation
Definition vtkIndent.h:34
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:67
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