VTK
9.0.1
Filters
Extraction
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
=========================================================================*/
44
#ifndef vtkExtractPolyDataGeometry_h
45
#define vtkExtractPolyDataGeometry_h
46
47
#include "vtkFiltersExtractionModule.h"
// For export macro
48
#include "
vtkPolyDataAlgorithm.h
"
49
50
class
vtkImplicitFunction
;
51
52
class
VTKFILTERSEXTRACTION_EXPORT
vtkExtractPolyDataGeometry
:
public
vtkPolyDataAlgorithm
53
{
54
public
:
55
vtkTypeMacro(
vtkExtractPolyDataGeometry
,
vtkPolyDataAlgorithm
);
56
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
57
61
static
vtkExtractPolyDataGeometry
*
New
();
62
66
vtkMTimeType
GetMTime
()
override
;
67
69
72
virtual
void
SetImplicitFunction
(
vtkImplicitFunction
*);
73
vtkGetObjectMacro(ImplicitFunction,
vtkImplicitFunction
);
75
77
82
vtkSetMacro(ExtractInside,
vtkTypeBool
);
83
vtkGetMacro(ExtractInside,
vtkTypeBool
);
84
vtkBooleanMacro(ExtractInside,
vtkTypeBool
);
86
88
92
vtkSetMacro(ExtractBoundaryCells,
vtkTypeBool
);
93
vtkGetMacro(ExtractBoundaryCells,
vtkTypeBool
);
94
vtkBooleanMacro(ExtractBoundaryCells,
vtkTypeBool
);
96
98
102
vtkSetMacro(PassPoints,
vtkTypeBool
);
103
vtkGetMacro(PassPoints,
vtkTypeBool
);
104
vtkBooleanMacro(PassPoints,
vtkTypeBool
);
106
107
protected
:
108
vtkExtractPolyDataGeometry
(
vtkImplicitFunction
* f =
nullptr
);
109
~vtkExtractPolyDataGeometry
()
override
;
110
111
// Usual data generation method
112
int
RequestData
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*)
override
;
113
114
vtkImplicitFunction
*
ImplicitFunction
;
115
vtkTypeBool
ExtractInside
;
116
vtkTypeBool
ExtractBoundaryCells
;
117
vtkTypeBool
PassPoints
;
118
119
vtkIdType
InsertPointInMap(
vtkIdType
i,
vtkPoints
* inPts,
vtkPoints
* newPts,
vtkIdType
* pointMap);
120
121
private
:
122
vtkExtractPolyDataGeometry
(
const
vtkExtractPolyDataGeometry
&) =
delete
;
123
void
operator=(
const
vtkExtractPolyDataGeometry
&) =
delete
;
124
};
125
127
130
inline
vtkIdType
vtkExtractPolyDataGeometry::InsertPointInMap
(
131
vtkIdType
i,
vtkPoints
* inPts,
vtkPoints
* newPts,
vtkIdType
* pointMap)
132
{
133
double
x[3];
134
inPts->
GetPoint
(i, x);
135
pointMap[i] = newPts->
InsertNextPoint
(x);
136
return
pointMap[i];
137
}
139
140
#endif
vtkPoints
represent and manipulate 3D points
Definition:
vtkPoints.h:34
vtkPoints::InsertNextPoint
vtkIdType InsertNextPoint(const float x[3])
Insert point into next available slot.
Definition:
vtkPoints.h:204
vtkExtractPolyDataGeometry::SetImplicitFunction
virtual void SetImplicitFunction(vtkImplicitFunction *)
Specify the implicit function for inside/outside checks.
vtkIdType
int vtkIdType
Definition:
vtkType.h:338
vtkInformationVector
Store zero or more vtkInformation instances.
Definition:
vtkInformationVector.h:36
vtkExtractPolyDataGeometry::ExtractInside
vtkTypeBool ExtractInside
Definition:
vtkExtractPolyDataGeometry.h:115
vtkPolyDataAlgorithm.h
vtkExtractPolyDataGeometry::ImplicitFunction
vtkImplicitFunction * ImplicitFunction
Definition:
vtkExtractPolyDataGeometry.h:114
vtkImplicitFunction
abstract interface for implicit functions
Definition:
vtkImplicitFunction.h:61
vtkExtractPolyDataGeometry::ExtractBoundaryCells
vtkTypeBool ExtractBoundaryCells
Definition:
vtkExtractPolyDataGeometry.h:116
vtkExtractPolyDataGeometry::InsertPointInMap
vtkIdType InsertPointInMap(vtkIdType i, vtkPoints *inPts, vtkPoints *newPts, vtkIdType *pointMap)
When not passing points, have to use a point map to keep track of things.
Definition:
vtkExtractPolyDataGeometry.h:130
vtkExtractPolyDataGeometry
extract vtkPolyData cells that lies either entirely inside or outside of a specified implicit functio...
Definition:
vtkExtractPolyDataGeometry.h:53
vtkExtractPolyDataGeometry::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPoints::GetPoint
double * GetPoint(vtkIdType id)
Return a pointer to a double point x[3] for a specific id.
Definition:
vtkPoints.h:133
vtkExtractPolyDataGeometry::GetMTime
vtkMTimeType GetMTime() override
Return the MTime taking into account changes to the implicit function.
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:34
vtkExtractPolyDataGeometry::New
static vtkExtractPolyDataGeometry * New()
Construct object with ExtractInside turned on.
vtkExtractPolyDataGeometry::~vtkExtractPolyDataGeometry
~vtkExtractPolyDataGeometry() override
vtkInformation
Store vtkAlgorithm input/output information.
Definition:
vtkInformation.h:65
vtkExtractPolyDataGeometry::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkExtractPolyDataGeometry::PassPoints
vtkTypeBool PassPoints
Definition:
vtkExtractPolyDataGeometry.h:117
vtkTypeBool
int vtkTypeBool
Definition:
vtkABI.h:69
vtkExtractPolyDataGeometry::vtkExtractPolyDataGeometry
vtkExtractPolyDataGeometry(vtkImplicitFunction *f=nullptr)
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition:
vtkType.h:293
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition:
vtkPolyDataAlgorithm.h:42
Generated on Mon Jan 4 2021 21:12:05 for VTK by
1.8.20