/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. ***********************************************************************/
  18. package org.mt4j.util.camera;
  19. import org.mt4j.util.math.Vector3D;
  20. /**
  21. * The Interface Icamera.
  22. * @author Christopher Ruff
  23. */
  24. public interface Icamera {
  25. //TODO add more methods?
  26. /**
  27. * Update.
  28. */
  29. public void update();
  30. /**
  31. * Gets the position.
  32. *
  33. * @return the position
  34. */
  35. public Vector3D getPosition();
  36. /**
  37. * Sets the position.
  38. *
  39. * @param camPos the new position
  40. */
  41. public void setPosition(Vector3D camPos);
  42. /**
  43. * Gets the point, the camera looks at.
  44. *
  45. * @return the view center pos
  46. */
  47. public Vector3D getViewCenterPos();
  48. /**
  49. * Sets the point, the camera should look at.
  50. *
  51. * @param viewCenter the new view center pos
  52. */
  53. public void setViewCenterPos(Vector3D viewCenter);
  54. /**
  55. * Move cam and view center.
  56. *
  57. * @param directionX the direction x
  58. * @param directionY the direction y
  59. * @param directionZ the direction z
  60. */
  61. public void moveCamAndViewCenter(float directionX, float directionY, float directionZ);
  62. /**
  63. * Sets the zoom min distance.
  64. *
  65. * @param minDistanceToViewCenter the new zoom min distance
  66. */
  67. public void setZoomMinDistance(float minDistanceToViewCenter);
  68. /**
  69. * Zoom amount.
  70. *
  71. * @param zoomAmount the zoom amount
  72. */
  73. public void zoomAmount(float zoomAmount);
  74. /**
  75. * Gets the frustum.
  76. *
  77. * @return the frustum
  78. */
  79. public IFrustum getFrustum();
  80. }