001 package com.croftsoft.core.math.axis;
002
003 import com.croftsoft.core.math.matrix.Matrix3x3Mut;
004 import com.croftsoft.core.math.quat.QuatMut;
005
006 /***********************************************************************
007 * Accessor interface for an axis-angle.
008 *
009 * @version
010 * $Id: AxisAngle.java,v 1.1 2008/05/09 18:35:55 croft Exp $
011 * @since
012 * 2008-05-09
013 * @author
014 * <a href="http://www.CroftSoft.com/">David Wallace Croft</a>
015 ***********************************************************************/
016
017 public interface AxisAngle
018 ////////////////////////////////////////////////////////////////////////
019 ////////////////////////////////////////////////////////////////////////
020 {
021
022 // accessor methods
023
024 double getDegrees ( );
025
026 double getX ( );
027
028 double getY ( );
029
030 double getZ ( );
031
032 // operand methods
033
034 boolean matches ( AxisAngle axisAngle );
035
036 boolean matches (
037 AxisAngle axisAngle,
038 double tolerance );
039
040 // calculation methods
041
042 double magnitude ( );
043
044 Matrix3x3Mut toRotationMatrix ( );
045
046 QuatMut toQuat ( );
047
048 ////////////////////////////////////////////////////////////////////////
049 ////////////////////////////////////////////////////////////////////////
050 }