PageRenderTime 19ms CodeModel.GetById 11ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 1ms

/src/org/mt4j/util/camera/Icamera.java

http://mt4j.googlecode.com/
Java | 92 lines | 13 code | 12 blank | 67 comment | 0 complexity | bea97b790fe4a4187759ad91aa75f591 MD5 | raw file
 1/***********************************************************************
 2 * mt4j Copyright (c) 2008 - 2009 C.Ruff, Fraunhofer-Gesellschaft All rights reserved.
 3 *  
 4 *   This program is free software: you can redistribute it and/or modify
 5 *   it under the terms of the GNU General Public License as published by
 6 *   the Free Software Foundation, either version 3 of the License, or
 7 *   (at your option) any later version.
 8 *
 9 *   This program is distributed in the hope that it will be useful,
10 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
11 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 *   GNU General Public License for more details.
13 *
14 *   You should have received a copy of the GNU General Public License
15 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 *
17 ***********************************************************************/
18package org.mt4j.util.camera;
19
20import org.mt4j.util.math.Vector3D;
21
22/**
23 * The Interface Icamera.
24 * @author Christopher Ruff
25 */
26public interface Icamera {
27	//TODO add more methods?
28	
29	/**
30	 * Update.
31	 */
32	public void update();
33	
34	/**
35	 * Gets the position.
36	 * 
37	 * @return the position
38	 */
39	public Vector3D getPosition();
40
41	/**
42	 * Sets the position.
43	 * 
44	 * @param camPos the new position
45	 */
46	public void setPosition(Vector3D camPos);
47
48	/**
49	 * Gets the point, the camera looks at.
50	 * 
51	 * @return the view center pos
52	 */
53	public Vector3D getViewCenterPos();
54	
55	/**
56	 * Sets the point, the camera should look at.
57	 * 
58	 * @param viewCenter the new view center pos
59	 */
60	public void setViewCenterPos(Vector3D viewCenter);
61	
62	/**
63	 * Move cam and view center.
64	 * 
65	 * @param directionX the direction x
66	 * @param directionY the direction y
67	 * @param directionZ the direction z
68	 */
69	public void moveCamAndViewCenter(float directionX, float directionY, float directionZ);
70
71	/**
72	 * Sets the zoom min distance.
73	 * 
74	 * @param minDistanceToViewCenter the new zoom min distance
75	 */
76	public void setZoomMinDistance(float minDistanceToViewCenter);
77	
78	/**
79	 * Zoom amount.
80	 * 
81	 * @param zoomAmount the zoom amount
82	 */
83	public void zoomAmount(float zoomAmount);
84	
85	/**
86	 * Gets the frustum.
87	 * 
88	 * @return the frustum
89	 */
90	public IFrustum getFrustum();
91}
92