VTK
dox
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
=========================================================================*/
46
#ifndef vtkExtractPolyDataGeometry_h
47
#define vtkExtractPolyDataGeometry_h
48
49
#include "vtkFiltersExtractionModule.h"
// For export macro
50
#include "
vtkPolyDataAlgorithm.h
"
51
52
class
vtkImplicitFunction
;
53
54
class
VTKFILTERSEXTRACTION_EXPORT
vtkExtractPolyDataGeometry
:
public
vtkPolyDataAlgorithm
55
{
56
public
:
57
vtkTypeMacro(
vtkExtractPolyDataGeometry
,
vtkPolyDataAlgorithm
);
58
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
59
63
static
vtkExtractPolyDataGeometry
*
New
();
64
68
vtkMTimeType
GetMTime
()
override
;
69
71
74
virtual
void
SetImplicitFunction
(
vtkImplicitFunction
*);
75
vtkGetObjectMacro(ImplicitFunction,
vtkImplicitFunction
);
77
79
84
vtkSetMacro(ExtractInside,
vtkTypeBool
);
85
vtkGetMacro(ExtractInside,
vtkTypeBool
);
86
vtkBooleanMacro(ExtractInside,
vtkTypeBool
);
88
90
94
vtkSetMacro(ExtractBoundaryCells,
vtkTypeBool
);
95
vtkGetMacro(ExtractBoundaryCells,
vtkTypeBool
);
96
vtkBooleanMacro(ExtractBoundaryCells,
vtkTypeBool
);
98
100
104
vtkSetMacro(PassPoints,
vtkTypeBool
);
105
vtkGetMacro(PassPoints,
vtkTypeBool
);
106
vtkBooleanMacro(PassPoints,
vtkTypeBool
);
108
109
protected
:
110
vtkExtractPolyDataGeometry
(
vtkImplicitFunction
*f=
nullptr
);
111
~vtkExtractPolyDataGeometry
()
override
;
112
113
// Usual data generation method
114
int
RequestData
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*)
override
;
115
116
vtkImplicitFunction
*
ImplicitFunction
;
117
vtkTypeBool
ExtractInside
;
118
vtkTypeBool
ExtractBoundaryCells
;
119
vtkTypeBool
PassPoints
;
120
121
vtkIdType
InsertPointInMap(
vtkIdType
i,
vtkPoints
*inPts,
vtkPoints
*newPts,
vtkIdType
*pointMap);
122
123
private
:
124
vtkExtractPolyDataGeometry
(
const
vtkExtractPolyDataGeometry
&) =
delete
;
125
void
operator=(
const
vtkExtractPolyDataGeometry
&) =
delete
;
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
vtkPoints
represent and manipulate 3D points
Definition:
vtkPoints.h:40
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:347
vtkInformationVector
Store zero or more vtkInformation instances.
Definition:
vtkInformationVector.h:42
vtkExtractPolyDataGeometry::ExtractInside
vtkTypeBool ExtractInside
Definition:
vtkExtractPolyDataGeometry.h:117
vtkPolyDataAlgorithm.h
vtkExtractPolyDataGeometry::ImplicitFunction
vtkImplicitFunction * ImplicitFunction
Definition:
vtkExtractPolyDataGeometry.h:116
vtkImplicitFunction
abstract interface for implicit functions
Definition:
vtkImplicitFunction.h:61
vtkExtractPolyDataGeometry::ExtractBoundaryCells
vtkTypeBool ExtractBoundaryCells
Definition:
vtkExtractPolyDataGeometry.h:118
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:132
vtkExtractPolyDataGeometry
extract vtkPolyData cells that lies either entirely inside or outside of a specified implicit functio...
Definition:
vtkExtractPolyDataGeometry.h:55
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:140
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:40
vtkExtractPolyDataGeometry::New
static vtkExtractPolyDataGeometry * New()
Construct object with ExtractInside turned on.
vtkExtractPolyDataGeometry::~vtkExtractPolyDataGeometry
~vtkExtractPolyDataGeometry() override
vtkInformation
Store vtkAlgorithm input/output information.
Definition:
vtkInformation.h:87
vtkExtractPolyDataGeometry::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkExtractPolyDataGeometry::PassPoints
vtkTypeBool PassPoints
Definition:
vtkExtractPolyDataGeometry.h:119
vtkTypeBool
int vtkTypeBool
Definition:
vtkABI.h:69
vtkExtractPolyDataGeometry::vtkExtractPolyDataGeometry
vtkExtractPolyDataGeometry(vtkImplicitFunction *f=nullptr)
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition:
vtkType.h:302
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition:
vtkPolyDataAlgorithm.h:45
Generated by
1.8.18