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="https://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 }