VMTK
vtkvmtkPolyBall.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkPolyBall.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 =========================================================================*/
30 #ifndef __vtkvmtkPolyBall_h
31 #define __vtkvmtkPolyBall_h
32 
33 #include "vtkImplicitFunction.h"
34 #include "vtkPolyData.h"
35 //#include "vtkvmtkComputationalGeometryWin32Header.h"
36 #include "vtkvmtkWin32Header.h"
37 
38 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkPolyBall : public vtkImplicitFunction
39 {
40  public:
41  vtkTypeMacro(vtkvmtkPolyBall,vtkImplicitFunction);
42  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
43 
44  static vtkvmtkPolyBall *New();
45 
47 
48  double EvaluateFunction(double x[3]) VTK_OVERRIDE;
49  double EvaluateFunction(double x, double y, double z) VTK_OVERRIDE
50  {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
52 
54  void EvaluateGradient(double x[3], double n[3]) VTK_OVERRIDE;
55 
57 
58  vtkSetObjectMacro(Input,vtkPolyData);
59  vtkGetObjectMacro(Input,vtkPolyData);
60  void SetInputData(vtkPolyData* input) { SetInput(input); }
61  vtkPolyData* GetInputData() { return GetInput(); }
63 
65 
66  vtkSetStringMacro(PolyBallRadiusArrayName);
67  vtkGetStringMacro(PolyBallRadiusArrayName);
69 
71 
72  vtkGetMacro(LastPolyBallCenterId,vtkIdType);
74 
75  protected:
77  ~vtkvmtkPolyBall();
78 
79  vtkPolyData* Input;
82 
83  private:
84  vtkvmtkPolyBall(const vtkvmtkPolyBall&); // Not implemented.
85  void operator=(const vtkvmtkPolyBall&); // Not implemented.
86 };
87 
88 #endif
89 
90 
char * PolyBallRadiusArrayName
vtkPolyData * GetInputData()
vtkPolyData * Input
void SetInputData(vtkPolyData *input)
double EvaluateFunction(double x, double y, double z) VTK_OVERRIDE
vtkIdType LastPolyBallCenterId
An instance of vtkImplicitFunction which evaluates the minimum sphere function from a collection of p...