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 =========================================================================*/
35 #ifndef vtkHyperTreeGridAxisReflection_h
36 #define vtkHyperTreeGridAxisReflection_h
37 
38 #include "vtkFiltersHyperTreeModule.h" // For export macro
40 
41 class vtkHyperTreeGrid;
42 
43 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridAxisReflection : public vtkHyperTreeGridAlgorithm
44 {
45 public:
48  void PrintSelf( ostream&, vtkIndent ) override;
49 
54  {
55  USE_X_MIN = 0,
56  USE_Y_MIN = 1,
57  USE_Z_MIN = 2,
58  USE_X_MAX = 3,
59  USE_Y_MAX = 4,
60  USE_Z_MAX = 5,
61  USE_X = 6,
62  USE_Y = 7,
63  USE_Z = 8
64  };
65 
67 
70  vtkSetClampMacro(Plane, int, 0, 8);
71  vtkGetMacro(Plane, int);
72  void SetPlaneToX() { this->SetPlane( USE_X ); };
73  void SetPlaneToY() { this->SetPlane( USE_Y ); };
74  void SetPlaneToZ() { this->SetPlane( USE_Z ); };
75  void SetPlaneToXMin() { this->SetPlane( USE_X_MIN ); };
76  void SetPlaneToYMin() { this->SetPlane( USE_Y_MIN ); };
77  void SetPlaneToZMin() { this->SetPlane( USE_Z_MIN ); };
78  void SetPlaneToXMax() { this->SetPlane( USE_X_MAX ); };
79  void SetPlaneToYMax() { this->SetPlane( USE_Y_MAX ); };
80  void SetPlaneToZMax() { this->SetPlane( USE_Z_MAX ); };
82 
84 
88  vtkSetMacro(Center, double);
89  vtkGetMacro(Center, double);
91 
92 protected:
95 
99  int FillOutputPortInformation( int, vtkInformation* ) override;
100 
104  int ProcessTrees( vtkHyperTreeGrid*, vtkDataObject* ) override;
105 
109  int Plane;
110 
115  double Center;
116 
117 private:
119  void operator=(const vtkHyperTreeGridAxisReflection&) = delete;
120 };
121 
122 #endif /* vtkHyperTreeGridAxisReflection */
vtkHyperTreeGridAxisReflection::SetPlaneToZMax
void SetPlaneToZMax()
Definition: vtkHyperTreeGridAxisReflection.h:80
vtkHyperTreeGridAxisReflection::SetPlaneToZ
void SetPlaneToZ()
Definition: vtkHyperTreeGridAxisReflection.h:74
vtkHyperTreeGridAxisReflection::SetPlaneToXMax
void SetPlaneToXMax()
Definition: vtkHyperTreeGridAxisReflection.h:78
vtkHyperTreeGridAlgorithm::ProcessTrees
virtual int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *)=0
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...
vtkHyperTreeGridAlgorithm.h
vtkHyperTreeGridAxisReflection::Center
double Center
Position of the plane relative to given axis Only used if the reflection plane is X,...
Definition: vtkHyperTreeGridAxisReflection.h:115
vtkHyperTreeGridAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkHyperTreeGridAxisReflection::SetPlaneToYMin
void SetPlaneToYMin()
Definition: vtkHyperTreeGridAxisReflection.h:76
vtkHyperTreeGridAxisReflection::SetPlaneToY
void SetPlaneToY()
Definition: vtkHyperTreeGridAxisReflection.h:73
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkHyperTreeGridAxisReflection::AxisReflectionPlane
AxisReflectionPlane
Specify unique identifiers of available reflection planes.
Definition: vtkHyperTreeGridAxisReflection.h:53
vtkHyperTreeGridAxisReflection::SetPlaneToZMin
void SetPlaneToZMin()
Definition: vtkHyperTreeGridAxisReflection.h:77
vtkHyperTreeGridAxisReflection::Plane
int Plane
Required type of plane reflection.
Definition: vtkHyperTreeGridAxisReflection.h:109
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkAlgorithm::New
static vtkAlgorithm * New()
vtkHyperTreeGridAlgorithm::FillOutputPortInformation
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
vtkHyperTreeGridAxisReflection::SetPlaneToX
void SetPlaneToX()
Definition: vtkHyperTreeGridAxisReflection.h:72
vtkHyperTreeGridAxisReflection::SetPlaneToXMin
void SetPlaneToXMin()
Definition: vtkHyperTreeGridAxisReflection.h:75
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkHyperTreeGridAxisReflection::SetPlaneToYMax
void SetPlaneToYMax()
Definition: vtkHyperTreeGridAxisReflection.h:79
vtkHyperTreeGridAxisReflection
Reflect a hyper tree grid.
Definition: vtkHyperTreeGridAxisReflection.h:43
vtkHyperTreeGridAlgorithm
Superclass for algorithms that produce a hyper tree grid as output.
Definition: vtkHyperTreeGridAlgorithm.h:46
vtkHyperTreeGrid
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Definition: vtkHyperTreeGrid.h:70