The SGADE Documentation

the SGADE The Socrates Gameboy Advance Development Engine

The SGADE is a development library for the Nintendo Gameboy Advance. It's free for all uses and is distributed without guarantees. For more information visit the SGADE page.


Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

SoMatrix.h

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00013 // ----------------------------------------------------------------------------
00014 
00015 #ifndef SO_MATRIX_H
00016 #define SO_MATRIX_H
00017 
00018 #ifdef __cplusplus
00019     extern "C" {
00020 #endif
00021 
00022 
00023 // ---------------------------------------------------------------------------- //! @{
00044 // ----------------------------------------------------------------------------
00045 
00046 
00047 // ----------------------------------------------------------------------------
00048 // Includes
00049 // ----------------------------------------------------------------------------
00050 #include "SoSystem.h"
00051 
00052 // ----------------------------------------------------------------------------
00053 // Typedefs
00054 // ----------------------------------------------------------------------------
00055 
00064 typedef struct
00065 {
00066     // Private cels;
00067     sofixedpoint m_C[ 12 ];     
00068 
00069 } SoMatrix;
00070 
00071 // --------------------------------------------------------------------------
00072 // Public methods;
00073 // --------------------------------------------------------------------------
00074 void SoMatrixMakeIdentity(SoMatrix* a_This );
00075 void SoMatrixMakeRotationX(SoMatrix* a_This, s32 a_Angle );
00076 void SoMatrixMakeRotationY(SoMatrix* a_This, s32 a_Angle );
00077 void SoMatrixMakeRotationZ(SoMatrix* a_This, s32 a_Angle );
00078 
00079 void SoMatrixSetTranslation(SoMatrix* a_This, sofixedpoint a_X, sofixedpoint a_Y, sofixedpoint a_Z );
00080 
00081 void SoMatrixScale(SoMatrix* a_This, sofixedpoint a_ScaleX, sofixedpoint a_ScaleY, sofixedpoint a_ScaleZ );
00082 
00083 void SoMatrixMultiplyBy(SoMatrix* a_This, SoMatrix* a_Matrix );
00084 void SoMatrixMultiply(SoMatrix* a_This, SoMatrix* a_A, SoMatrix* a_B );
00085 
00086 void SoMatrixMode4DebugDraw(SoMatrix* a_This );
00087 
00088 // --------------------------------------------------------------------------
00089 // EOF
00090 // --------------------------------------------------------------------------
00091 
00093 
00094 #ifdef __cplusplus
00095 } // extern "C"
00096 #endif
00097 
00098 #endif

Copyright 2002 by the SGADE authors. See SoLicense.h or Visit the SGADE page for more information.