      subroutine RGEllipseSetParameters(a,b,c,d,z)
       RG a ! RG
       PetscScalar b ! PetscScalar
       PetscReal c ! PetscReal
       PetscReal d ! PetscReal
       integer z
       end subroutine
      subroutine RGEllipseGetParameters(a,b,c,d,z)
       RG a ! RG
       PetscScalar b ! PetscScalar
       PetscReal c ! PetscReal
       PetscReal d ! PetscReal
       integer z
       end subroutine
      subroutine RGPolygonSetVertices(a,b,c,d,z)
       RG a ! RG
       PetscInt b ! PetscInt
       PetscScalar c ! PetscScalar
       PetscScalar d ! PetscScalar
       integer z
       end subroutine
      subroutine RGPolygonGetVertices(a,b,c,d,z)
       RG a ! RG
       PetscInt b ! PetscInt
       PetscScalar c ! PetscScalar
       PetscScalar d ! PetscScalar
       integer z
       end subroutine
      subroutine RGCreate(a,b,z)
       integer a ! MPI_Comm
       RG b ! RG
       integer z
       end subroutine
      subroutine RGSetFromOptions(a,z)
       RG a ! RG
       integer z
       end subroutine
      subroutine RGIsTrivial(a,b,z)
       RG a ! RG
       PetscBool b ! PetscBool
       integer z
       end subroutine
      subroutine RGCheckInside(a,b,c,d,e,z)
       RG a ! RG
       PetscInt b ! PetscInt
       PetscScalar c ! PetscScalar
       PetscScalar d ! PetscScalar
       PetscInt e ! PetscInt
       integer z
       end subroutine
      subroutine RGComputeContour(a,b,c,d,z)
       RG a ! RG
       PetscInt b ! PetscInt
       PetscScalar c ! PetscScalar
       PetscScalar d ! PetscScalar
       integer z
       end subroutine
      subroutine RGSetComplement(a,b,z)
       RG a ! RG
       PetscBool b ! PetscBool
       integer z
       end subroutine
      subroutine RGGetComplement(a,b,z)
       RG a ! RG
       PetscBool b ! PetscBool
       integer z
       end subroutine
      subroutine RGSetScale(a,b,z)
       RG a ! RG
       PetscReal b ! PetscReal
       integer z
       end subroutine
      subroutine RGGetScale(a,b,z)
       RG a ! RG
       PetscReal b ! PetscReal
       integer z
       end subroutine
      subroutine RGPushScale(a,b,z)
       RG a ! RG
       PetscReal b ! PetscReal
       integer z
       end subroutine
      subroutine RGPopScale(a,z)
       RG a ! RG
       integer z
       end subroutine
      subroutine RGDestroy(a,z)
       RG a ! RG
       integer z
       end subroutine
      subroutine RGRingSetParameters(a,b,c,d,e,f,g,z)
       RG a ! RG
       PetscScalar b ! PetscScalar
       PetscReal c ! PetscReal
       PetscReal d ! PetscReal
       PetscReal e ! PetscReal
       PetscReal f ! PetscReal
       PetscReal g ! PetscReal
       integer z
       end subroutine
      subroutine RGRingGetParameters(a,b,c,d,e,f,g,z)
       RG a ! RG
       PetscScalar b ! PetscScalar
       PetscReal c ! PetscReal
       PetscReal d ! PetscReal
       PetscReal e ! PetscReal
       PetscReal f ! PetscReal
       PetscReal g ! PetscReal
       integer z
       end subroutine
      subroutine RGIntervalSetEndpoints(a,b,c,d,e,z)
       RG a ! RG
       PetscReal b ! PetscReal
       PetscReal c ! PetscReal
       PetscReal d ! PetscReal
       PetscReal e ! PetscReal
       integer z
       end subroutine
      subroutine RGIntervalGetEndpoints(a,b,c,d,e,z)
       RG a ! RG
       PetscReal b ! PetscReal
       PetscReal c ! PetscReal
       PetscReal d ! PetscReal
       PetscReal e ! PetscReal
       integer z
       end subroutine
