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 =========================================================================*/
50 #ifndef vtkSelectVisiblePoints_h
51 #define vtkSelectVisiblePoints_h
52 
53 #include "vtkRenderingCoreModule.h" // For export macro
54 #include "vtkPolyDataAlgorithm.h"
55 
56 class vtkRenderer;
57 class vtkMatrix4x4;
58 
60 {
61 public:
63  void PrintSelf(ostream& os, vtkIndent indent);
64 
67  static vtkSelectVisiblePoints *New();
68 
70 
73  {
74  if (this->Renderer != ren)
75  {
76  this->Renderer = ren;
77  this->Modified();
78  }
79  }
81  { return this->Renderer; }
83 
85 
87  vtkSetMacro(SelectionWindow, int);
88  vtkGetMacro(SelectionWindow, int);
89  vtkBooleanMacro(SelectionWindow, int);
91 
93 
95  vtkSetVector4Macro(Selection, int);
96  vtkGetVectorMacro(Selection, int, 4);
98 
100 
102  vtkSetMacro(SelectInvisible, int);
103  vtkGetMacro(SelectInvisible, int);
104  vtkBooleanMacro(SelectInvisible, int);
106 
108 
111  vtkSetClampMacro(Tolerance, double,0.0, VTK_DOUBLE_MAX);
112  vtkGetMacro(Tolerance, double);
114 
118  float * Initialize(bool getZbuff);
119 
122  bool IsPointOccluded(const double x[3], const float *zPtr);
123 
125  unsigned long GetMTime();
126 
127 protected:
130 
133 
136 
138  int Selection[4];
139  int InternalSelection[4];
141  double Tolerance;
142 
143 private:
144  vtkSelectVisiblePoints(const vtkSelectVisiblePoints&); // Not implemented.
145  void operator=(const vtkSelectVisiblePoints&); // Not implemented.
146 };
147 
148 #endif
virtual int FillInputPortInformation(int port, vtkInformation *info)
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:38
extract points that are visible (based on z-buffer calculation)
#define VTK_DOUBLE_MAX
Definition: vtkType.h:140
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
abstract specification for renderers
Definition: vtkRenderer.h:62
vtkMatrix4x4 * CompositePerspectiveTransform
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only polydata as output.
virtual unsigned long GetMTime()
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual void Modified()
#define VTKRENDERINGCORE_EXPORT
void SetRenderer(vtkRenderer *ren)
Store zero or more vtkInformation instances.