Los círculos se representan en gvSIG mediante el interface Circle. Para crear un punto podemos utlizar el método genérico del manager create y a continuación hay que establecer los valores del centro y del radio. Si tenemos un objeto de tipo Point (0,0 en este caso) y conocemos un radio (5) podemos crear el punto del siguiente modo:
Point centerPoint = geometryManager.createPoint(0, 0, SUBTYPES.GEOM2D);
Circle circle = (Circle)geometryManager.create(TYPES.CIRCLE, SUBTYPES.GEOM2D);
circle.setPoints(centerPoint, 5);
Otra opción es que se quiera crear un punto a partir de un centro y de un punto de los que están en el diámetro de la circunferencia. El siguiente ejemplo de código crear un círculo exactamente igual que el del primer ejemplo:
Point centerPoint = geometryManager.createPoint(0, 0, SUBTYPES.GEOM2D);
Point radiousPoint = geometryManager.createPoint(0, 5, SUBTYPES.GEOM2D);
Circle circle = (Circle)geometryManager.create(TYPES.CIRCLE, SUBTYPES.GEOM2D);
circle.setPoints(centerPoint, radiousPoint);
La tercera opción es que creamos crear una circunferencia que esté dentro de tres puntos ya que sólo existe una circunferencia que corte a tres puntos. Para ello hay que crear los tres puntos y invocar al método setPoints:
Point point1 = geometryManager.createPoint(0, 0, SUBTYPES.GEOM2D);
Point point2 = geometryManager.createPoint(5, 5, SUBTYPES.GEOM2D);
Point point3 = geometryManager.createPoint(7, 7, SUBTYPES.GEOM2D);
Circle circle = (Circle)geometryManager.create(TYPES.CIRCLE, SUBTYPES.GEOM2D);
circle.setPoints(point1, point2, point3);