// Path: src/vash/operation/OpParams.java
// public class OpParams {
// 	public final double ratio;
// 	public final double channels;
// 
// 	/**
// 	 * Instantiate a new operation parameters with a default channels count of 3.
// 	 * @param ratio
// 	 */
// 	public OpParams(double ratio) {
// 		this.ratio = ratio;
// 		this.channels = 3.0;
// 	}
// 
// 	/**
// 	 * Instantiate a new operation parameters.
// 	 * @param ratio
// 	 * @param channels
// 	 */
// 	public OpParams(double ratio, double channels) {
// 		this.ratio = ratio;
// 		this.channels = channels;
// 	}
// }
// 
// Path: src/vash/operation/Operation.java
// public enum Operation {
// 	// colors
// 	RGB,
// 	// arithmetic
// 	ABSOLUTE,
// 	ADD,
// 	DIVIDE,
// 	EXPONENTIATE,
// 	INVERT,
// 	MODULUS,
// 	MULTIPLY,
// 	// trig
// 	SINC,
// 	SINE,
// 	SPIRAL,
// 	SQUIRCLE,
// 	// LEAF
// 	CONST,
// 	ELLIPSE,
// 	FLOWER,
// 	GRADIENT_LINEAR,
// 	GRADIENT_RADIAL,
// 	POLAR_THETA,
// 	;
// }


import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import vash.operation.OpParams;
import vash.operation.Operation;
/*
 * Copyright 2011, Zettabyte Storage LLC
 * 
 * This file is part of Vash.
 * 
 * Vash is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * Vash is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with Vash.  If not, see <http://www.gnu.org/licenses/>.
 */
package vash;



/**
 * Encapsulate all inputs to tree construction, parameterized by the seed and algorithm.
 */
public class TreeParameters {
	// tree layout seed
	private final Seed seed;

	// tree layout algorithm parameters
	private final short minDepth;
	private final short maxDepth;
// Path: src/vash/operation/OpParams.java
// public class OpParams {
// 	public final double ratio;
// 	public final double channels;
// 
// 	/**
// 	 * Instantiate a new operation parameters with a default channels count of 3.
// 	 * @param ratio
// 	 */
// 	public OpParams(double ratio) {
// 		this.ratio = ratio;
// 		this.channels = 3.0;
// 	}
// 
// 	/**
// 	 * Instantiate a new operation parameters.
// 	 * @param ratio
// 	 * @param channels
// 	 */
// 	public OpParams(double ratio, double channels) {
// 		this.ratio = ratio;
// 		this.channels = channels;
// 	}
// }
// 
// Path: src/vash/operation/Operation.java
// public enum Operation {
// 	// colors
// 	RGB,
// 	// arithmetic
// 	ABSOLUTE,
// 	ADD,
// 	DIVIDE,
// 	EXPONENTIATE,
// 	INVERT,
// 	MODULUS,
// 	MULTIPLY,
// 	// trig
// 	SINC,
// 	SINE,
// 	SPIRAL,
// 	SQUIRCLE,
// 	// LEAF
// 	CONST,
// 	ELLIPSE,
// 	FLOWER,
// 	GRADIENT_LINEAR,
// 	GRADIENT_RADIAL,
// 	POLAR_THETA,
// 	;
// }


// Path: src/vash/TreeParameters.java
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import vash.operation.OpParams;
import vash.operation.Operation;

/*
 * Copyright 2011, Zettabyte Storage LLC
 * 
 * This file is part of Vash.
 * 
 * Vash is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * Vash is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with Vash.  If not, see <http://www.gnu.org/licenses/>.
 */
package vash;



/**
 * Encapsulate all inputs to tree construction, parameterized by the seed and algorithm.
 */
public class TreeParameters {
	// tree layout seed
	private final Seed seed;

	// tree layout algorithm parameters
	private final short minDepth;
	private final short maxDepth;
	private final HashMap<Operation, OpParams> ops;