+#include <cpPlugins/Interface/ImplicitFunction.h>
+
+#include <vtkBox.h>
+#include <vtkCone.h>
+#include <vtkCylinder.h>
+#include <vtkImplicitBoolean.h>
+#include <vtkImplicitDataSet.h>
+#include <vtkImplicitHalo.h>
+#include <vtkImplicitPolyDataDistance.h>
+#include <vtkImplicitSelectionLoop.h>
+#include <vtkImplicitSum.h>
+#include <vtkImplicitVolume.h>
+#include <vtkImplicitWindowFunction.h>
+#include <vtkPerlinNoise.h>
+#include <vtkPlane.h>
+#include <vtkPlanes.h>
+#include <vtkPlanesIntersection.h>
+#include <vtkPolyPlane.h>
+#include <vtkQuadric.h>
+#include <vtkSphere.h>
+#include <vtkSuperquadric.h>
+
+// -------------------------------------------------------------------------
+#define cpPlugins_Interface_ImplicitFunction_DEF( T ) \
+ void cpPlugins::Interface::ImplicitFunction::SetFunctionTo##T( ) \
+ { \
+ this->m_VTKObject = vtkSmartPointer< vtk##T >::New( ); \
+ this->Modified( ); \
+ }
+
+// -------------------------------------------------------------------------
+cpPlugins_Interface_ImplicitFunction_DEF( Box );
+cpPlugins_Interface_ImplicitFunction_DEF( Cone );
+cpPlugins_Interface_ImplicitFunction_DEF( Cylinder );
+cpPlugins_Interface_ImplicitFunction_DEF( ImplicitBoolean );
+cpPlugins_Interface_ImplicitFunction_DEF( ImplicitDataSet );
+cpPlugins_Interface_ImplicitFunction_DEF( ImplicitHalo );
+cpPlugins_Interface_ImplicitFunction_DEF( ImplicitPolyDataDistance );
+cpPlugins_Interface_ImplicitFunction_DEF( ImplicitSelectionLoop );
+cpPlugins_Interface_ImplicitFunction_DEF( ImplicitSum );
+cpPlugins_Interface_ImplicitFunction_DEF( ImplicitVolume );
+cpPlugins_Interface_ImplicitFunction_DEF( ImplicitWindowFunction );
+cpPlugins_Interface_ImplicitFunction_DEF( PerlinNoise );
+cpPlugins_Interface_ImplicitFunction_DEF( Plane );
+cpPlugins_Interface_ImplicitFunction_DEF( Planes );
+cpPlugins_Interface_ImplicitFunction_DEF( PlanesIntersection );
+cpPlugins_Interface_ImplicitFunction_DEF( PolyPlane );
+cpPlugins_Interface_ImplicitFunction_DEF( Quadric );
+cpPlugins_Interface_ImplicitFunction_DEF( Sphere );
+cpPlugins_Interface_ImplicitFunction_DEF( Superquadric );
+
+// -------------------------------------------------------------------------
+vtkImplicitFunction* cpPlugins::Interface::ImplicitFunction::
+GetVTKImplicitFunction( )
+{
+ return(
+ dynamic_cast< vtkImplicitFunction* >(
+ this->m_VTKObject.GetPointer( )
+ )
+ );
+}
+
+// -------------------------------------------------------------------------
+const vtkImplicitFunction* cpPlugins::Interface::ImplicitFunction::
+GetVTKImplicitFunction( ) const
+{
+ return(
+ dynamic_cast< const vtkImplicitFunction* >(
+ this->m_VTKObject.GetPointer( )
+ )
+ );
+}
+
+// -------------------------------------------------------------------------
+void cpPlugins::Interface::ImplicitFunction::
+SetFunction( vtkImplicitFunction* function )
+{
+ this->m_VTKObject = function;
+ this->Modified( );
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::Interface::ImplicitFunction::
+ImplicitFunction( )
+ : Superclass( )
+{
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::Interface::ImplicitFunction::
+~ImplicitFunction( )
+{
+}
+
+// eof - $RCSfile$