// Path: src/edu/uic/ncdm/venn/data/VennData.java
// public class VennData {
//     public double[] areas;
//     public String[][] data;
// 
//     public VennData(String[][] data, double[] areas) {
//         this.data = data;
//         this.areas = areas;
//     }
// }


import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import edu.uic.ncdm.venn.data.VennData;
/*
 * VennEuler -- A Venn and Euler Diagram program.
 *
 * Copyright 2009 by Leland Wilkinson.
 *
 * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License")
 * You may not use this file except in compliance with the License.
 * You may obtain a copy of the License at http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the License.
 */

package edu.uic.ncdm.venn;



public class VennAnalytic {
	private int nRows;
	private int nCircles;
	private int nPolygons;
	private int nTot;
	private double stress;
	private double minStress;
	private double[] polyData;
	private double[] polyAreas;
	private double[] polyHats;
	private double[] circleData;
	private String[] circleLabels;
	private double[][] centers;
	private double[] diameters;
	private double stepsize;
	private int totalCount;
	private boolean isEqualArea;

	public VennAnalytic() {
		stepsize = .01;
		minStress = .000001;
		isEqualArea = false;
	}

// Path: src/edu/uic/ncdm/venn/data/VennData.java
// public class VennData {
//     public double[] areas;
//     public String[][] data;
// 
//     public VennData(String[][] data, double[] areas) {
//         this.data = data;
//         this.areas = areas;
//     }
// }


// Path: src/edu/uic/ncdm/venn/VennAnalytic.java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import edu.uic.ncdm.venn.data.VennData;

/*
 * VennEuler -- A Venn and Euler Diagram program.
 *
 * Copyright 2009 by Leland Wilkinson.
 *
 * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License")
 * You may not use this file except in compliance with the License.
 * You may obtain a copy of the License at http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the License.
 */

package edu.uic.ncdm.venn;



public class VennAnalytic {
	private int nRows;
	private int nCircles;
	private int nPolygons;
	private int nTot;
	private double stress;
	private double minStress;
	private double[] polyData;
	private double[] polyAreas;
	private double[] polyHats;
	private double[] circleData;
	private String[] circleLabels;
	private double[][] centers;
	private double[] diameters;
	private double stepsize;
	private int totalCount;
	private boolean isEqualArea;

	public VennAnalytic() {
		stepsize = .01;
		minStress = .000001;
		isEqualArea = false;
	}

	public VennDiagram compute(VennData vd) {