VMTK
vtkvmtkPolyBallModeller.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkPolyBallModeller.h,v $
5 Language: C++
6 
7  Copyright (c) Luca Antiga, David Steinman. All rights reserved.
8  See LICENSE file for details.
9 
10  Portions of this code are covered under the VTK copyright.
11  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm
12  for details.
13 
14  This software is distributed WITHOUT ANY WARRANTY; without even
15  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  PURPOSE. See the above copyright notices for more information.
17 
18 =========================================================================*/
28 #ifndef __vtkvmtkPolyBallModeller_h
29 #define __vtkvmtkPolyBallModeller_h
30 
31 #include "vtkImageAlgorithm.h"
32 #include "vtkImageData.h"
33 #include "vtkvmtkWin32Header.h"
34 
35 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkPolyBallModeller : public vtkImageAlgorithm
36 {
37  public:
38  vtkTypeMacro(vtkvmtkPolyBallModeller,vtkImageAlgorithm);
39  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
40 
41  static vtkvmtkPolyBallModeller *New();
42 
44 
45  vtkGetVectorMacro(SampleDimensions,int,3);
46  vtkSetVectorMacro(SampleDimensions,int,3);
48 
50 
51  vtkSetVectorMacro(ModelBounds,double,6);
52  vtkGetVectorMacro(ModelBounds,double,6);
54 
55  vtkSetObjectMacro(ReferenceImage,vtkImageData);
56  vtkGetObjectMacro(ReferenceImage,vtkImageData);
57 
58  vtkSetStringMacro(RadiusArrayName);
59  vtkGetStringMacro(RadiusArrayName);
60 
61  vtkSetMacro(UsePolyBallLine,int);
62  vtkGetMacro(UsePolyBallLine,int);
63  vtkBooleanMacro(UsePolyBallLine,int);
64 
65  vtkSetMacro(NegateFunction,int);
66  vtkGetMacro(NegateFunction,int);
67  vtkBooleanMacro(NegateFunction,int);
68 
69 
70  protected:
73 
74  int FillInputPortInformation(int, vtkInformation *info) VTK_OVERRIDE;
75  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
76  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
77 
78  int SampleDimensions[3];
79  double ModelBounds[6];
80 
82 
84 
86 
87  vtkImageData* ReferenceImage;
88 
89  private:
90  vtkvmtkPolyBallModeller(const vtkvmtkPolyBallModeller&); // Not implemented.
91  void operator=(const vtkvmtkPolyBallModeller&); // Not implemented.
92 };
93 
94 #endif
95 
96 
Create an image where a polyball or polyball line are evaluated as a function.