text: #pragma once
  /*=========================================================================
  
   medInria
  
   Copyright (c) INRIA 2013 - 2020. All rights reserved.
   See LICENSE.txt for details.
  
    This software is distributed WITHOUT ANY WARRANTY; without even
    the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    PURPOSE.
  
  =========================================================================*/
  
  #include <vtkOrientedPolygonalHandleRepresentation3D.h>
  #include <vtkSmartPointer.h>
  
  class vtkPolyData;
  class vtkPolyDataMapper2D;
  class vtkActor2D;
  
  class medVtkSeedPointHandle : public vtkOrientedPolygonalHandleRepresentation3D
  {
  public:
      void PrintSelf(ostream& os, vtkIndent indent);
      vtkTypeMacro(medVtkSeedPointHandle,vtkOrientedPolygonalHandleRepresentation3D)
  
      // Description:
      // Creates an actor2D with the following defaults: 
      // position (0,0) (coordinate system is viewport);
      // at layer 0.
      static medVtkSeedPointHandle* New();
  
      virtual ~medVtkSeedPointHandle();
  
      //! Get set the radius of the displayed item
      vtkSetMacro(SizeInDisplayUnits,double)
      vtkGetMacro(SizeInDisplayUnits,double)
  
      // Description:
      // Methods to make this class behave as a vtkProp.
      virtual void ShallowCopy(vtkProp *prop);
      virtual void DeepCopy(vtkProp *prop);
  
      //! Override vtkHandleRepresentation.
      virtual void SetWorldPosition(double pos[3]);
  
  protected:
      medVtkSeedPointHandle();
  
      //! Build the polydata
      void BuildPolyData();
  
      vtkSmartPointer<vtkPolyData>          PolyData;
      vtkSmartPointer<vtkPolyDataMapper2D>  Mapper2D;
  
  private:
      double SizeInDisplayUnits;
  };
  