Salome HOME
Make it run with int64 configuration with non regression tests
[modules/paravis.git] / src / Plugins / EllipseBuilder / vtkEllipseBuilderFilter.h
1 // Copyright (C) 2014-2019  CEA/DEN, EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 #ifndef __ElliplseBuilderFilter_h
21 #define __ElliplseBuilderFilter_h
22
23 #include <vtkMultiBlockDataSetAlgorithm.h>
24 #include <list>
25
26 class vtkDataObjectTreeIterator;
27 class vtkStringArray;
28
29 /**
30  * Description of class: TODO
31 */
32 class vtkEllipseBuilderFilter : public vtkMultiBlockDataSetAlgorithm
33 {
34 public:
35         /// Returns pointer on a new instance of the class
36         static vtkEllipseBuilderFilter* New();
37
38         vtkTypeMacro(vtkEllipseBuilderFilter, vtkMultiBlockDataSetAlgorithm);
39
40         /// Prints current state of the objects
41         virtual void PrintSelf(ostream& os, vtkIndent indent);
42
43         /// Set and Get methods for scale factor
44         vtkSetMacro(ScaleFactor, double);
45         vtkGetMacro(ScaleFactor, double);
46         
47         virtual vtkStringArray* GetFieldList();
48
49         /// Set and Get methods for field of real part
50         vtkSetStringMacro(RealField);
51         vtkGetStringMacro(RealField);
52         
53         /// Set and Get methods for field of imag part
54         vtkSetStringMacro(ImagField);
55         vtkGetStringMacro(ImagField);
56
57         /// Set and Get methods for start angle
58         vtkSetMacro(StartAngle, double);
59         vtkGetMacro(StartAngle, double);
60
61         /// Set and Get methods for end angle
62         vtkSetMacro(EndAngle, double);
63         vtkGetMacro(EndAngle, double);
64
65         /// Set and Get methods for resolution
66         vtkSetMacro(Resolution, int);
67         vtkGetMacro(Resolution, int);
68         
69         /// Set and Get methods for axis
70         vtkSetMacro(Axis, int);
71         vtkGetMacro(Axis, int);
72
73 protected:
74         /// Constructor
75         vtkEllipseBuilderFilter();
76
77         /// Destructor
78         virtual ~vtkEllipseBuilderFilter();
79         
80         /// A method which is called on filtering data
81         virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
82         virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
83                 
84         vtkStringArray* FieldList;
85         
86         double ScaleFactor;
87         double StartAngle;
88         double EndAngle;
89         int Resolution;
90         int Axis;
91         char* RealField;
92         char* ImagField;
93
94 private:
95         /// Methods for copy of the filter: Not implemented
96         vtkEllipseBuilderFilter(const vtkEllipseBuilderFilter&); // Not implemented
97         void operator=(const vtkEllipseBuilderFilter&); // Not implemented
98 };
99
100 #endif