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 =========================================================================*/
46 #ifndef vtkExtractPolyDataGeometry_h
47 #define vtkExtractPolyDataGeometry_h
48 
49 #include "vtkFiltersExtractionModule.h" // For export macro
50 #include "vtkPolyDataAlgorithm.h"
51 
53 
54 class VTKFILTERSEXTRACTION_EXPORT vtkExtractPolyDataGeometry : public vtkPolyDataAlgorithm
55 {
56 public:
58  void PrintSelf(ostream& os, vtkIndent indent);
59 
64 
69 
71 
74  virtual void SetImplicitFunction(vtkImplicitFunction*);
75  vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction);
77 
79 
84  vtkSetMacro(ExtractInside,int);
85  vtkGetMacro(ExtractInside,int);
86  vtkBooleanMacro(ExtractInside,int);
88 
90 
94  vtkSetMacro(ExtractBoundaryCells,int);
95  vtkGetMacro(ExtractBoundaryCells,int);
96  vtkBooleanMacro(ExtractBoundaryCells,int);
98 
100 
104  vtkSetMacro(PassPoints,int);
105  vtkGetMacro(PassPoints,int);
106  vtkBooleanMacro(PassPoints,int);
108 
109 protected:
112 
113  // Usual data generation method
115 
120 
121  vtkIdType InsertPointInMap(vtkIdType i, vtkPoints *inPts, vtkPoints *newPts, vtkIdType *pointMap);
122 
123 private:
124  vtkExtractPolyDataGeometry(const vtkExtractPolyDataGeometry&) VTK_DELETE_FUNCTION;
125  void operator=(const vtkExtractPolyDataGeometry&) VTK_DELETE_FUNCTION;
126 };
127 
129 
132 inline vtkIdType vtkExtractPolyDataGeometry::InsertPointInMap(vtkIdType i, vtkPoints *inPts,
133  vtkPoints *newPts, vtkIdType *pointMap)
134 {
135  double x[3];
136  inPts->GetPoint(i, x);
137  pointMap[i] = newPts->InsertNextPoint(x);
138  return pointMap[i];
139 }
141 
142 
143 #endif
abstract interface for implicit functions
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
int vtkIdType
Definition: vtkType.h:287
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.
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:39
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.