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 =========================================================================*/
51 #ifndef vtkSelectVisiblePoints_h
52 #define vtkSelectVisiblePoints_h
53 
54 #include "vtkRenderingCoreModule.h" // For export macro
55 #include "vtkPolyDataAlgorithm.h"
56 
57 class vtkRenderer;
58 class vtkMatrix4x4;
59 
60 class VTKRENDERINGCORE_EXPORT vtkSelectVisiblePoints : public vtkPolyDataAlgorithm
61 {
62 public:
64  void PrintSelf(ostream& os, vtkIndent indent);
65 
70  static vtkSelectVisiblePoints *New();
71 
73 
78  {
79  if (this->Renderer != ren)
80  {
81  this->Renderer = ren;
82  this->Modified();
83  }
84  }
86  { return this->Renderer; }
88 
90 
94  vtkSetMacro(SelectionWindow, int);
95  vtkGetMacro(SelectionWindow, int);
96  vtkBooleanMacro(SelectionWindow, int);
98 
100 
104  vtkSetVector4Macro(Selection, int);
105  vtkGetVectorMacro(Selection, int, 4);
107 
109 
113  vtkSetMacro(SelectInvisible, int);
114  vtkGetMacro(SelectInvisible, int);
115  vtkBooleanMacro(SelectInvisible, int);
117 
119 
124  vtkSetClampMacro(Tolerance, double,0.0, VTK_DOUBLE_MAX);
125  vtkGetMacro(Tolerance, double);
127 
132  float * Initialize(bool getZbuff);
133 
138  bool IsPointOccluded(const double x[3], const float *zPtr);
139 
144 
145 protected:
148 
151 
154 
156  int Selection[4];
157  int InternalSelection[4];
159  double Tolerance;
160 
161 private:
162  vtkSelectVisiblePoints(const vtkSelectVisiblePoints&) VTK_DELETE_FUNCTION;
163  void operator=(const vtkSelectVisiblePoints&) VTK_DELETE_FUNCTION;
164 };
165 
166 #endif
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:41
extract points that are visible (based on z-buffer calculation)
#define VTK_DOUBLE_MAX
Definition: vtkType.h:163
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
abstract specification for renderers
Definition: vtkRenderer.h:63
vtkMatrix4x4 * CompositePerspectiveTransform
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
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.