/*
* Copyright Inria and Bordeaux University.
* Author Jeremy Laviole. jeremy.laviole@inria.fr
* PapAR project is the open-source version of the
* PapARt project. License is LGPLv3, distributed with the sources.
* This project can also distributed with standard commercial
* licence for closed-sources projects.
*/
package fr.inria.papart.calibration;
import java.io.FileNotFoundException;
import processing.core.PApplet;
import processing.data.XML;
/**
*
* @author Jeremy Laviole <jeremy.laviole@inria.fr>
*/
public abstract class Calibration {
static final String CALIBRATION_XML_NAME = "Calibration";
public abstract boolean isValid();
public abstract void addTo(XML xml);
public abstract void replaceIn(XML xml);
public void saveTo(PApplet parent, String fileName) {
assert(isValid());
XML root = new XML(Calibration.CALIBRATION_XML_NAME);
this.addTo(root);
parent.saveXML(root, fileName);
}
public void replaceIn(PApplet parent, String fileName) {
assert(isValid());
XML root = parent.loadXML(fileName);
this.replaceIn(root);
parent.saveXML(root, fileName);
}
public abstract void loadFrom(PApplet parent, String fileName);
}