VTK
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 
48 #include "vtkRenderingCoreModule.h" // For export macro
49 #include "vtkPolyDataAlgorithm.h"
50 
51 class vtkRenderer;
52 class vtkMatrix4x4;
53 
54 class VTKRENDERINGCORE_EXPORT vtkSelectVisiblePoints : public vtkPolyDataAlgorithm
55 {
56 public:
58  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
59 
64  static vtkSelectVisiblePoints *New();
65 
67 
72  {
73  if (this->Renderer != ren)
74  {
75  this->Renderer = ren;
76  this->Modified();
77  }
78  }
80  { return this->Renderer; }
82 
84 
88  vtkSetMacro(SelectionWindow, int);
89  vtkGetMacro(SelectionWindow, int);
90  vtkBooleanMacro(SelectionWindow, int);
92 
94 
98  vtkSetVector4Macro(Selection, int);
99  vtkGetVectorMacro(Selection, int, 4);
101 
103 
107  vtkSetMacro(SelectInvisible, int);
108  vtkGetMacro(SelectInvisible, int);
109  vtkBooleanMacro(SelectInvisible, int);
111 
113 
118  vtkSetClampMacro(Tolerance, double,0.0, VTK_DOUBLE_MAX);
119  vtkGetMacro(Tolerance, double);
121 
126  float * Initialize(bool getZbuff);
127 
132  bool IsPointOccluded(const double x[3], const float *zPtr);
133 
137  vtkMTimeType GetMTime() VTK_OVERRIDE;
138 
139 protected:
141  ~vtkSelectVisiblePoints() VTK_OVERRIDE;
142 
144  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
145 
148 
150  int Selection[4];
151  int InternalSelection[4];
153  double Tolerance;
154 
155 private:
156  vtkSelectVisiblePoints(const vtkSelectVisiblePoints&) VTK_DELETE_FUNCTION;
157  void operator=(const vtkSelectVisiblePoints&) VTK_DELETE_FUNCTION;
158 };
159 
160 #endif
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:35
extract points that are visible (based on z-buffer calculation)
#define VTK_DOUBLE_MAX
Definition: vtkType.h:167
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
abstract specification for renderers
Definition: vtkRenderer.h:57
vtkMatrix4x4 * CompositePerspectiveTransform
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual vtkMTimeType GetMTime()
Return this object's modified time.
virtual void Modified()
Update the modification time for this object.
vtkRenderer * GetRenderer()
Specify the renderer in which the visibility computation is to be performed.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetRenderer(vtkRenderer *ren)
Specify the renderer in which the visibility computation is to be performed.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.