1 // Copyright (C) 2014-2021 CEA/DEN, EDF R&D
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef __ElliplseBuilderFilter_h
21 #define __ElliplseBuilderFilter_h
23 #include <vtkMultiBlockDataSetAlgorithm.h>
25 class vtkDataObjectTreeIterator;
29 * Description of class: TODO
31 class vtkEllipseBuilderFilter : public vtkMultiBlockDataSetAlgorithm
34 /// Returns pointer on a new instance of the class
35 static vtkEllipseBuilderFilter* New();
37 vtkTypeMacro(vtkEllipseBuilderFilter, vtkMultiBlockDataSetAlgorithm)
39 /// Prints current state of the objects
40 void PrintSelf(ostream& os, vtkIndent indent) override;
42 /// Set and Get methods for scale factor
43 vtkSetMacro(ScaleFactor, double);
44 vtkGetMacro(ScaleFactor, double);
46 virtual vtkStringArray* GetFieldList();
48 /// Set and Get methods for field of real part
49 vtkSetStringMacro(RealField);
50 vtkGetStringMacro(RealField);
52 /// Set and Get methods for field of imag part
53 vtkSetStringMacro(ImagField);
54 vtkGetStringMacro(ImagField);
56 /// Set and Get methods for start angle
57 vtkSetMacro(StartAngle, double);
58 vtkGetMacro(StartAngle, double);
60 /// Set and Get methods for end angle
61 vtkSetMacro(EndAngle, double);
62 vtkGetMacro(EndAngle, double);
64 /// Set and Get methods for resolution
65 vtkSetMacro(Resolution, int);
66 vtkGetMacro(Resolution, int);
68 /// Set and Get methods for axis
69 vtkSetMacro(Axis, int);
70 vtkGetMacro(Axis, int);
74 vtkEllipseBuilderFilter();
77 ~vtkEllipseBuilderFilter() override;
79 /// A method which is called on filtering data
80 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
81 int RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
83 vtkStringArray* FieldList;
94 /// Methods for copy of the filter: Not implemented
95 vtkEllipseBuilderFilter(const vtkEllipseBuilderFilter&) = delete;
96 void operator=(const vtkEllipseBuilderFilter&) = delete;