VTK
vtkPeriodicFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPeriodicFiler.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 =========================================================================*/
15 
34 #ifndef vtkPeriodicFilter_h
35 #define vtkPeriodicFilter_h
36 
37 #include "vtkFiltersParallelModule.h" // For export macro
39 
40 #include <set> // For block selection
41 #include <vector> // For pieces number
42 
47 
48 #define VTK_ITERATION_MODE_DIRECT_NB 0 // Generate a user-provided number of periods
49 #define VTK_ITERATION_MODE_MAX 1 // Generate a maximum of periods, i.e. a full period.
50 
52 {
53 public:
55  void PrintSelf(ostream& os, vtkIndent indent);
56 
58 
61  vtkSetClampMacro(IterationMode, int,
64  vtkGetMacro(IterationMode, int);
66  { this->SetIterationMode(VTK_ITERATION_MODE_DIRECT_NB); }
68  { this->SetIterationMode(VTK_ITERATION_MODE_MAX); }
70 
72 
73  vtkSetMacro(NumberOfPeriods, int);
74  vtkGetMacro(NumberOfPeriods, int);
76 
82  virtual void AddIndex(unsigned int index);
83 
85  virtual void RemoveIndex(unsigned int index);
86 
88  virtual void RemoveAllIndices();
89 
90 protected:
93 
94  virtual int RequestData(vtkInformation *,
97 
99 
101  vtkCompositeDataSet* output,
104 
106 
108  vtkCompositeDataSet* output,
109  int nbPeriod) = 0;
111 
112  std::vector<int> PeriodNumbers; // Periods numbers by leaf
114 
115 private:
116  vtkPeriodicFilter(const vtkPeriodicFilter&); // Not implemented.
117  void operator=(const vtkPeriodicFilter&); // Not implemented.
118 
119  int IterationMode;
120  int NumberOfPeriods; // User provided number of periods
121 
122  std::set<vtkIdType> Indices; // Selected indices
123 };
124 
125 #endif
vtkPeriodicFilter::SetPeriodNumber
virtual void SetPeriodNumber(vtkCompositeDataIterator *loc, vtkCompositeDataSet *output, int nbPeriod)=0
vtkPeriodicFilter::PeriodNumbers
std::vector< int > PeriodNumbers
Definition: vtkPeriodicFilter.h:112
VTKFILTERSPARALLEL_EXPORT
#define VTKFILTERSPARALLEL_EXPORT
Definition: vtkFiltersParallelModule.h:15
vtkMultiPieceDataSet
composite dataset to encapsulates pieces of dataset.
Definition: vtkMultiPieceDataSet.h:43
vtkPeriodicFilter::AddIndex
virtual void AddIndex(unsigned int index)
vtkPeriodicFilter::~vtkPeriodicFilter
~vtkPeriodicFilter()
vtkPeriodicFilter
A filter to produce mapped periodic multiblock dataset from a single block.
Definition: vtkPeriodicFilter.h:52
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkPeriodicFilter::RemoveAllIndices
virtual void RemoveAllIndices()
vtkgl::input
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
vtkFiltersParallelModule.h
vtkCompositeDataSet
abstract superclass for composite (multi-block or AMR) datasets
Definition: vtkCompositeDataSet.h:51
vtkPeriodicFilter::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
VTK_ITERATION_MODE_DIRECT_NB
#define VTK_ITERATION_MODE_DIRECT_NB
Definition: vtkPeriodicFilter.h:48
vtkCompositeDataIterator
superclass for composite data iterators
Definition: vtkCompositeDataIterator.h:41
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkPeriodicFilter::SetIterationModeToMax
void SetIterationModeToMax()
Definition: vtkPeriodicFilter.h:67
vtkPeriodicFilter::SetIterationModeToDirectNb
void SetIterationModeToDirectNb()
Definition: vtkPeriodicFilter.h:65
vtkMultiBlockDataSetAlgorithm.h
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkPeriodicFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkPeriodicFilter::CreatePeriodicDataSet
virtual void CreatePeriodicDataSet(vtkCompositeDataIterator *loc, vtkCompositeDataSet *output, vtkCompositeDataSet *input)=0
vtkPeriodicFilter::vtkPeriodicFilter
vtkPeriodicFilter()
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkgl::index
GLuint index
Definition: vtkgl.h:11983
vtkPeriodicFilter::RemoveIndex
virtual void RemoveIndex(unsigned int index)
VTK_ITERATION_MODE_MAX
#define VTK_ITERATION_MODE_MAX
Definition: vtkPeriodicFilter.h:49
vtkDataObjectTreeIterator
superclass for composite data iterators
Definition: vtkDataObjectTreeIterator.h:39
vtkPeriodicFilter::ReducePeriodNumbers
bool ReducePeriodNumbers
Definition: vtkPeriodicFilter.h:113
vtkMultiBlockDataSetAlgorithm
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
Definition: vtkMultiBlockDataSetAlgorithm.h:32