001        package com.croftsoft.core.media.jogl.camera;
002    
003        import com.croftsoft.core.math.axis.AxisAngle;
004         
005        /***********************************************************************
006        * Mutator interface for a JoglCamera.
007        *  
008        * @version
009        *   $Id: JoglCameraMut.java,v 1.3 2008/05/16 20:25:34 croft Exp $
010        * @since
011        *   2008-05-16
012        * @author
013        *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
014        ***********************************************************************/
015    
016        public interface  JoglCameraMut
017          extends JoglCamera
018        ////////////////////////////////////////////////////////////////////////
019        ////////////////////////////////////////////////////////////////////////
020        {
021          
022        void  setAxisAngle ( AxisAngle  axisAngle );
023          
024        void  setX ( double  x );
025          
026        void  setY ( double  y );
027          
028        void  setZ ( double  z );
029        
030        // relative mutator methods
031          
032        void  rotate ( AxisAngle  axisAngle );
033         
034        void  rotate (
035          Axis    axis,
036          double  degrees );
037    
038        void  rotate (
039          Rotation  rotation,
040          double    degrees );
041        
042        void  translate (
043          Axis    axis,
044          double  distance );
045        
046        void  translate (
047          Translation  translation,
048          double       distance );
049        
050        ////////////////////////////////////////////////////////////////////////
051        ////////////////////////////////////////////////////////////////////////
052        }