package fr.orsay.lri.varna.models.rna; import java.awt.geom.Point2D; import java.awt.geom.Point2D.Double; import java.io.Serializable; import javax.xml.transform.sax.TransformerHandler; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; public class VARNAPoint implements Serializable { private static final long serialVersionUID = 8815373295131046029L; public double x = 0.0; public double y = 0.0; public void toXML(TransformerHandler hd) throws SAXException { toXML(hd,""); } public static String XML_ELEMENT_NAME = "p"; public static String XML_VAR_ROLE_NAME = "r"; public static String XML_VAR_X_NAME = "x"; public static String XML_VAR_Y_NAME = "y"; public void toXML(TransformerHandler hd, String role) throws SAXException { AttributesImpl atts = new AttributesImpl(); if (!role.equals("")) { atts.addAttribute("","",XML_VAR_ROLE_NAME,"CDATA",""+role); } atts.addAttribute("","",XML_VAR_X_NAME,"CDATA",""+x); atts.addAttribute("","",XML_VAR_Y_NAME,"CDATA",""+y); hd.startElement("","",XML_ELEMENT_NAME,atts); hd.endElement("","",XML_ELEMENT_NAME); } public VARNAPoint() { this(0.0,0.0); } public VARNAPoint(double px, double py) { x = px; y = py; } public VARNAPoint(Point2D.Double p) { this(p.x,p.y); } public double getX() { return x; } public double getY() { return y; } public Point2D.Double toPoint2D() { return new Point2D.Double(x,y); } public String toString() { return "("+x+","+y+")" ; } }