package j3deditor.bin.hierarchy.util;


/**
 * Identifies the instance of implementing class
 * as a virtual camera.
 *
 * @author Risto Seene
 */
public interface VirtualCamera{

	/**
	 * Moves the virtual focus of the camera.
	 *
	 * @param move1
	 *        movement of the focus along the X-axis of the camera.
	 *        Difference, not absolute position
	 * @param move2
	 *        movement of the focus along the Y-axis of the camera.
	 *        Difference, not absolute position
	 */
	public void moveFocus(float move1, float move2);

	/**
	 * Zooms the camera in/out.
	 *
	 * @param zoom
	 *	the amount to zoom
	 */
	public void zoomCamera(float zoom);


	/**
	 * Rotates the camera.
	 *
	 * @param angle
	 *	rotation around the Y-axis of the scene.
	 *	Difference, not absolute angle
	 * @param angleZ
	 *	the change of the angle of the X-axis of camera.
	 *	Difference, not absolute angle	
	 */
	public void rotateCamera(float angle, float angleZ);

}
