38#ifndef vtkAngularPeriodicFilter_h
39#define vtkAngularPeriodicFilter_h
41#include "vtkFiltersParallelModule.h"
48#define VTK_ROTATION_MODE_DIRECT_ANGLE 0
49#define VTK_ROTATION_MODE_ARRAY_VALUE 1
64 vtkSetMacro(ComputeRotationsOnTheFly,
bool);
65 vtkGetMacro(ComputeRotationsOnTheFly,
bool);
66 vtkBooleanMacro(ComputeRotationsOnTheFly,
bool);
77 vtkGetMacro(RotationMode,
int);
88 vtkSetMacro(RotationAngle,
double);
89 vtkGetMacro(RotationAngle,
double);
97 vtkSetStringMacro(RotationArrayName);
98 vtkGetStringMacro(RotationArrayName);
105 vtkSetClampMacro(RotationAxis,
int, 0, 2);
106 vtkGetMacro(RotationAxis,
int);
116 vtkSetVector3Macro(Center,
double);
117 vtkGetVector3Macro(Center,
double);
130 vtkDataArray* inputArray,
double angle,
bool useCenter =
true,
bool normalize =
false);
171 bool ComputeRotationsOnTheFly;
178 double RotationAngle;
A filter to produce mapped angular periodic multiblock dataset from a single block,...
virtual void GeneratePieceName(vtkCompositeDataSet *input, vtkCompositeDataIterator *inputLoc, vtkMultiPieceDataSet *output, vtkIdType outputId)
Generate a name for a piece in the periodic dataset from the input dataset.
static vtkAngularPeriodicFilter * New()
void SetPeriodNumber(vtkCompositeDataIterator *loc, vtkCompositeDataSet *output, int nbPeriod) override
Manually set the number of period on a specific leaf.
void ComputePeriodicMesh(vtkPointSet *dataset, vtkPointSet *rotatedDataset, double angle)
Compute periodic pointset, rotating point, using provided angle.
void SetRotationAxisToY()
Set/Get Rotation Axis, 0 for X, 1 for Y, 2 for Z.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
~vtkAngularPeriodicFilter() override
vtkDataArray * TransformDataArray(vtkDataArray *inputArray, double angle, bool useCenter=true, bool normalize=false)
Create a transform copy of the provided data array.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetRotationModeToArrayValue()
Set/Get The rotation mode.
void SetRotationModeToDirectAngle()
Set/Get The rotation mode.
void ComputeAngularPeriodicData(vtkDataSetAttributes *data, vtkDataSetAttributes *rotatedData, double angle)
Compute periodic point/cell data, using provided angle.
vtkAngularPeriodicFilter()
void SetRotationAxisToX()
Set/Get Rotation Axis, 0 for X, 1 for Y, 2 for Z.
void AppendPeriodicPiece(double angle, vtkIdType iPiece, vtkDataObject *inputNode, vtkMultiPieceDataSet *multiPiece)
Append a periodic piece to dataset, by computing rotated mesh and data.
void SetRotationAxisToZ()
Set/Get Rotation Axis, 0 for X, 1 for Y, 2 for Z.
void CreatePeriodicDataSet(vtkCompositeDataIterator *loc, vtkCompositeDataSet *output, vtkCompositeDataSet *input) override
Create a periodic data, leaf of the tree.
superclass for composite data iterators
abstract superclass for composite (multi-block or AMR) datasets
abstract superclass for arrays of numeric data
general representation of visualization data
represent and manipulate attribute data in a dataset
a simple class to control print indentation
composite dataset to encapsulates pieces of dataset.
A filter to produce mapped periodic multiblock dataset from a single block.
concrete class for storing a set of points
#define VTK_ROTATION_MODE_ARRAY_VALUE
#define VTK_ROTATION_MODE_DIRECT_ANGLE