001 002/* 003 * Copyright (C) 2010 Archie L. Cobbs. All rights reserved. 004 * 005 * $Id$ 006 */ 007 008package org.dellroad.jibxbindings.pidf.lo.gml; 009 010import java.net.URI; 011 012/** 013 * GML circle. 014 */ 015public class Circle extends Surface { 016 017 private double[] center; 018 private Measure radius; 019 020 public Circle() { 021 } 022 023 public Circle(String gid, URI srsName, int srsDimension, double[] center, Measure radius) { 024 super(gid, srsName, srsDimension); 025 this.setCenter(center); 026 this.setRadius(radius); 027 } 028 029 /** 030 * The center of the circle. 031 */ 032 public double[] getCenter() { 033 return this.center; 034 } 035 public void setCenter(double[] center) { 036 this.center = center; 037 } 038 039 /** 040 * The circle's {@code <gs:radius>}. 041 */ 042 public Measure getRadius() { 043 return this.radius; 044 } 045 public void setRadius(Measure radius) { 046 this.radius = radius; 047 } 048 049 @Override 050 public void visit(GMLObjectSwitch gmlObjectSwitch) { 051 gmlObjectSwitch.caseCircle(this); 052 } 053 054// Cloneable 055 056 @Override 057 public Circle clone() { 058 final Circle clone = (Circle)super.clone(); 059 clone.center = this.center != null ? this.center.clone() : null; 060 clone.radius = this.radius != null ? this.radius.clone() : null; 061 return clone; 062 } 063} 064