VTK
vtkHyperTreeGridAxisReflection.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkHyperTreeGridAxisReflection.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 =========================================================================*/
32 #ifndef vtkHyperTreeGridAxisReflection_h
33 #define vtkHyperTreeGridAxisReflection_h
34 
35 #include "vtkFiltersHyperTreeModule.h" // For export macro
37 
38 class vtkHyperTreeGrid;
39 
40 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridAxisReflection : public vtkHyperTreeGridAlgorithm
41 {
42 public:
45  void PrintSelf( ostream&, vtkIndent ) override;
46 
51  {
52  USE_X_MIN = 0,
53  USE_Y_MIN = 1,
54  USE_Z_MIN = 2,
55  USE_X_MAX = 3,
56  USE_Y_MAX = 4,
57  USE_Z_MAX = 5,
58  USE_X = 6,
59  USE_Y = 7,
60  USE_Z = 8
61  };
62 
64 
67  vtkSetClampMacro(Plane, int, 0, 8);
68  vtkGetMacro(Plane, int);
69  void SetPlaneToX() { this->SetPlane( USE_X ); };
70  void SetPlaneToY() { this->SetPlane( USE_Y ); };
71  void SetPlaneToZ() { this->SetPlane( USE_Z ); };
72  void SetPlaneToXMin() { this->SetPlane( USE_X_MIN ); };
73  void SetPlaneToYMin() { this->SetPlane( USE_Y_MIN ); };
74  void SetPlaneToZMin() { this->SetPlane( USE_Z_MIN ); };
75  void SetPlaneToXMax() { this->SetPlane( USE_X_MAX ); };
76  void SetPlaneToYMax() { this->SetPlane( USE_Y_MAX ); };
77  void SetPlaneToZMax() { this->SetPlane( USE_Z_MAX ); };
79 
81 
85  vtkSetMacro(Center, double);
86  vtkGetMacro(Center, double);
88 
89 protected:
92 
96  int FillOutputPortInformation( int, vtkInformation* ) override;
97 
101  int ProcessTrees( vtkHyperTreeGrid*, vtkDataObject* ) override;
102 
106  int Plane;
107 
112  double Center;
113 
114 private:
116  void operator=(const vtkHyperTreeGridAxisReflection&) = delete;
117 };
118 
119 #endif /* vtkHyperTreeGridAxisReflection */
void SetPlaneToZMin()
Set the normal of the plane to use as mirror.
void SetPlaneToYMin()
Set the normal of the plane to use as mirror.
int FillOutputPortInformation(int, vtkInformation *) override
Define default input and output port types.
Store vtkAlgorithm input/output information.
AxisReflectionPlane
Specify unique identifiers of available reflection planes.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
void SetPlaneToXMin()
Set the normal of the plane to use as mirror.
a simple class to control print indentation
Definition: vtkIndent.h:33
void SetPlaneToXMax()
Set the normal of the plane to use as mirror.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double Center
Position of the plane relative to given axis Only used if the reflection plane is X,...
void SetPlaneToZ()
Set the normal of the plane to use as mirror.
void SetPlaneToX()
Set the normal of the plane to use as mirror.
Superclass for algorithms that produce a hyper tree grid as output.
void SetPlaneToYMax()
Set the normal of the plane to use as mirror.
static vtkAlgorithm * New()
general representation of visualization data
Definition: vtkDataObject.h:58
int Plane
Required type of plane reflection.
void SetPlaneToY()
Set the normal of the plane to use as mirror.
void SetPlaneToZMax()
Set the normal of the plane to use as mirror.
virtual int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *)=0
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...