1 #ifndef __CPPLUGINS__INTERFACE__IMPLICITFUNCTION__H__
2 #define __CPPLUGINS__INTERFACE__IMPLICITFUNCTION__H__
4 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
5 #include <cpPlugins/Interface/DataObject.h>
7 #include <itkSpatialObject.h>
9 #include <vtkSmartPointer.h>
10 #include <vtkImplicitFunction.h>
18 class cpPlugins_Interface_EXPORT ImplicitFunction
22 typedef ImplicitFunction Self;
23 typedef DataObject Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
29 itkTypeMacro( ImplicitFunction, DataObject );
33 inline F* GetITKImplicitFunction( );
36 inline const F* GetITKImplicitFunction( ) const;
39 inline F* GetVTKImplicitFunction( );
42 inline const F* GetVTKImplicitFunction( ) const;
44 virtual vtkImplicitFunction* GetVTKImplicitFunction( );
45 virtual const vtkImplicitFunction* GetVTKImplicitFunction( ) const;
47 void SetFunction( vtkImplicitFunction* function );
49 void SetFunctionToBox( );
50 void SetFunctionToCone( );
51 void SetFunctionToCylinder( );
52 void SetFunctionToImplicitBoolean( );
53 void SetFunctionToImplicitDataSet( );
54 void SetFunctionToImplicitHalo( );
55 void SetFunctionToImplicitPolyDataDistance( );
56 void SetFunctionToImplicitSelectionLoop( );
57 void SetFunctionToImplicitSum( );
58 void SetFunctionToImplicitVolume( );
59 void SetFunctionToImplicitWindowFunction( );
60 void SetFunctionToPerlinNoise( );
61 void SetFunctionToPlane( );
62 void SetFunctionToPlanes( );
63 void SetFunctionToPlanesIntersection( );
64 void SetFunctionToPolyPlane( );
65 void SetFunctionToQuadric( );
66 void SetFunctionToSphere( );
67 void SetFunctionToSuperquadric( );
71 virtual ~ImplicitFunction( );
74 // Purposely not implemented
75 ImplicitFunction( const Self& );
76 Self& operator=( const Self& );
83 #endif // __CPPLUGINS__INTERFACE__IMPLICITFUNCTION__H__