VTK
9.1.0
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
=========================================================================*/
63
#ifndef vtkExtractPolyDataGeometry_h
64
#define vtkExtractPolyDataGeometry_h
65
66
#include "vtkFiltersExtractionModule.h"
// For export macro
67
#include "
vtkPolyDataAlgorithm.h
"
68
69
class
vtkImplicitFunction
;
70
71
class
VTKFILTERSEXTRACTION_EXPORT
vtkExtractPolyDataGeometry
:
public
vtkPolyDataAlgorithm
72
{
73
public
:
74
vtkTypeMacro(
vtkExtractPolyDataGeometry
,
vtkPolyDataAlgorithm
);
75
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
76
80
static
vtkExtractPolyDataGeometry
*
New
();
81
85
vtkMTimeType
GetMTime
()
override
;
86
88
91
virtual
void
SetImplicitFunction
(
vtkImplicitFunction
*);
92
vtkGetObjectMacro(ImplicitFunction,
vtkImplicitFunction
);
94
96
101
vtkSetMacro(ExtractInside,
vtkTypeBool
);
102
vtkGetMacro(ExtractInside,
vtkTypeBool
);
103
vtkBooleanMacro(ExtractInside,
vtkTypeBool
);
105
107
111
vtkSetMacro(ExtractBoundaryCells,
vtkTypeBool
);
112
vtkGetMacro(ExtractBoundaryCells,
vtkTypeBool
);
113
vtkBooleanMacro(ExtractBoundaryCells,
vtkTypeBool
);
115
117
121
vtkSetMacro(PassPoints,
vtkTypeBool
);
122
vtkGetMacro(PassPoints,
vtkTypeBool
);
123
vtkBooleanMacro(PassPoints,
vtkTypeBool
);
125
126
protected
:
127
vtkExtractPolyDataGeometry
(
vtkImplicitFunction
* f =
nullptr
);
128
~vtkExtractPolyDataGeometry
()
override
;
129
130
// Usual data generation method
131
int
RequestData
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*)
override
;
132
133
vtkImplicitFunction
*
ImplicitFunction
;
134
vtkTypeBool
ExtractInside
;
135
vtkTypeBool
ExtractBoundaryCells
;
136
vtkTypeBool
PassPoints
;
137
138
vtkIdType
InsertPointInMap(
vtkIdType
i,
vtkPoints
* inPts,
vtkPoints
* newPts,
vtkIdType
* pointMap);
139
140
private
:
141
vtkExtractPolyDataGeometry
(
const
vtkExtractPolyDataGeometry
&) =
delete
;
142
void
operator=(
const
vtkExtractPolyDataGeometry
&) =
delete
;
143
};
144
146
149
inline
vtkIdType
vtkExtractPolyDataGeometry::InsertPointInMap
(
150
vtkIdType
i,
vtkPoints
* inPts,
vtkPoints
* newPts,
vtkIdType
* pointMap)
151
{
152
double
x[3];
153
inPts->
GetPoint
(i, x);
154
pointMap[i] = newPts->
InsertNextPoint
(x);
155
return
pointMap[i];
156
}
158
159
#endif
vtkPoints
represent and manipulate 3D points
Definition:
vtkPoints.h:143
vtkPoints::InsertNextPoint
vtkIdType InsertNextPoint(const float x[3])
Insert point into next available slot.
Definition:
vtkPoints.h:314
vtkExtractPolyDataGeometry::SetImplicitFunction
virtual void SetImplicitFunction(vtkImplicitFunction *)
Specify the implicit function for inside/outside checks.
vtkIdType
int vtkIdType
Definition:
vtkType.h:332
vtkInformationVector
Store zero or more vtkInformation instances.
Definition:
vtkInformationVector.h:145
vtkExtractPolyDataGeometry::ExtractInside
vtkTypeBool ExtractInside
Definition:
vtkExtractPolyDataGeometry.h:134
vtkPolyDataAlgorithm.h
vtkExtractPolyDataGeometry::ImplicitFunction
vtkImplicitFunction * ImplicitFunction
Definition:
vtkExtractPolyDataGeometry.h:133
vtkImplicitFunction
abstract interface for implicit functions
Definition:
vtkImplicitFunction.h:80
vtkExtractPolyDataGeometry::ExtractBoundaryCells
vtkTypeBool ExtractBoundaryCells
Definition:
vtkExtractPolyDataGeometry.h:135
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:149
vtkExtractPolyDataGeometry
extract vtkPolyData cells that lies either entirely inside or outside of a specified implicit functio...
Definition:
vtkExtractPolyDataGeometry.h:72
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:243
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:113
vtkExtractPolyDataGeometry::New
static vtkExtractPolyDataGeometry * New()
Construct object with ExtractInside turned on.
vtkExtractPolyDataGeometry::~vtkExtractPolyDataGeometry
~vtkExtractPolyDataGeometry() override
vtkInformation
Store vtkAlgorithm input/output information.
Definition:
vtkInformation.h:183
vtkExtractPolyDataGeometry::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkExtractPolyDataGeometry::PassPoints
vtkTypeBool PassPoints
Definition:
vtkExtractPolyDataGeometry.h:136
vtkTypeBool
int vtkTypeBool
Definition:
vtkABI.h:69
vtkExtractPolyDataGeometry::vtkExtractPolyDataGeometry
vtkExtractPolyDataGeometry(vtkImplicitFunction *f=nullptr)
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition:
vtkType.h:287
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition:
vtkPolyDataAlgorithm.h:151
Generated on Fri Nov 5 2021 00:11:05 for VTK by
1.8.20