/*******************************************************************************
 * Copyright (c) 2009 Zoltan Ujhelyi and Daniel Varro.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Zoltan Ujhelyi - initial API and implementation
 *******************************************************************************/
package org.eclipse.viatra2.visualisation.layouts;

import org.eclipse.zest.layouts.LayoutAlgorithm;

/**
 * An interface describing a layout algorithm. In most cases its recommended to
 * override the AbstractViatraLayoutAlgorithm abstract class instead of this
 * class.
 * @author Zoltan Ujhelyi
 */
public interface IViatraLayoutAlgorithm {

	/**
	 * Returns the layout algorithm to apply
	 * @return the layout algorithm
	 */
	public LayoutAlgorithm getAlgorithm();

	/**
	 * Return filters to apply together with the layout algorithm. The extension
	 * point handler presumes, the array is not null; if no filters are used, an
	 * empty array should be used.
	 * @return an array of filters
	 */
//	public ViewerFilter[] getFilters();

}
