VTK
vtkExtractPolyDataGeometry.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExtractPolyDataGeometry.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 =========================================================================*/
43 #ifndef vtkExtractPolyDataGeometry_h
44 #define vtkExtractPolyDataGeometry_h
45 
46 #include "vtkFiltersExtractionModule.h" // For export macro
47 #include "vtkPolyDataAlgorithm.h"
48 
50 
51 class VTKFILTERSEXTRACTION_EXPORT vtkExtractPolyDataGeometry : public vtkPolyDataAlgorithm
52 {
53 public:
55  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
56 
61 
65  vtkMTimeType GetMTime() VTK_OVERRIDE;
66 
68 
71  virtual void SetImplicitFunction(vtkImplicitFunction*);
72  vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction);
74 
76 
81  vtkSetMacro(ExtractInside,int);
82  vtkGetMacro(ExtractInside,int);
83  vtkBooleanMacro(ExtractInside,int);
85 
87 
91  vtkSetMacro(ExtractBoundaryCells,int);
92  vtkGetMacro(ExtractBoundaryCells,int);
93  vtkBooleanMacro(ExtractBoundaryCells,int);
95 
97 
101  vtkSetMacro(PassPoints,int);
102  vtkGetMacro(PassPoints,int);
103  vtkBooleanMacro(PassPoints,int);
105 
106 protected:
108  ~vtkExtractPolyDataGeometry() VTK_OVERRIDE;
109 
110  // Usual data generation method
111  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
112 
113  vtkImplicitFunction *ImplicitFunction;
114  int ExtractInside;
115  int ExtractBoundaryCells;
116  int PassPoints;
117 
118  vtkIdType InsertPointInMap(vtkIdType i, vtkPoints *inPts, vtkPoints *newPts, vtkIdType *pointMap);
119 
120 private:
121  vtkExtractPolyDataGeometry(const vtkExtractPolyDataGeometry&) VTK_DELETE_FUNCTION;
122  void operator=(const vtkExtractPolyDataGeometry&) VTK_DELETE_FUNCTION;
123 };
124 
126 
129 inline vtkIdType vtkExtractPolyDataGeometry::InsertPointInMap(vtkIdType i, vtkPoints *inPts,
130  vtkPoints *newPts, vtkIdType *pointMap)
131 {
132  double x[3];
133  inPts->GetPoint(i, x);
134  pointMap[i] = newPts->InsertNextPoint(x);
135  return pointMap[i];
136 }
138 
139 
140 #endif
abstract interface for implicit functions
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
int vtkIdType
Definition: vtkType.h:345
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.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
extract vtkPolyData cells that lies either entirely inside or outside of a specified implicit functio...
represent and manipulate 3D points
Definition: vtkPoints.h:33
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.