00001 /*-----------------------------------------------------------------------* 00002 Project: Nintendo Augmented Reality Library. 00003 File: narTransformation.h 00004 00005 Copyright (C)2011-2012 Nintendo Co., Ltd. All rights reserved. 00006 00007 These coded instructions, statements, and computer programs contain 00008 proprietary information of Nintendo and/or its licensed developers 00009 and are protected by national and international copyright laws. They 00010 may not be disclosed to third parties or copied or duplicated in any 00011 form, in whole or in part, without the prior written consent of 00012 Nintendo. 00013 The content herein is highly confidential and should be handled 00014 accordingly. 00015 *-----------------------------------------------------------------------*/ 00016 00021 #ifndef NAR_TRANSFORMATION_H__ 00022 #define NAR_TRANSFORMATION_H__ 00023 00024 #include "narVec3.h" 00025 00026 #ifdef NAR_CTR__ 00027 namespace nn { 00028 namespace math { 00029 struct MTX44; 00030 } 00031 } 00032 #endif 00033 00034 namespace mw { namespace nar 00035 { 00036 struct Mtx33RF_st; 00039 class Transformation_cl 00040 { 00041 public: 00042 #ifdef NAR_TWL__ 00043 00045 void GetMtxFx43( MtxFx43 & r_Mtx ) const; 00046 #endif 00047 #ifdef NAR_CTR__ 00048 00050 void GetMTX34( nn::math::MTX34 & r_Mtx ) const; 00051 #endif 00052 00054 00056 const Vec3F_st & GetrXAxis() const { return ma_Vec[ me_X ]; } 00057 00060 const Vec3F_st & GetrYAxis() const { return ma_Vec[ me_Y ]; } 00061 00064 const Vec3F_st & GetrZAxis() const { return ma_Vec[ me_Z ]; } 00065 00068 const Vec3F_st & GetrTrans() const { return ma_Vec[ me_Trans ]; } 00069 00072 void SetRot( const Vec3F_st & cr_X, const Vec3F_st & cr_Y, const Vec3F_st & cr_Z ) 00073 { 00074 ma_Vec[ me_X ] = cr_X; 00075 ma_Vec[ me_Y ] = cr_Y; 00076 ma_Vec[ me_Z ] = cr_Z; 00077 } 00078 00081 void SetTrans( const Vec3F_st & cr_Trans ) 00082 { 00083 ma_Vec[ me_Trans ] = cr_Trans; 00084 } 00085 00088 void TransformToRefPlane( Vec3F_st & r, const Vec3F_st & cr ) const; 00089 00092 void Concatenate( Mtx33RF_st & r ); 00094 private: 00095 enum 00096 { 00097 me_X, me_Y, me_Z, me_Trans, me_Max 00098 }; 00099 00100 Vec3F_st ma_Vec[ me_Max ]; 00101 }; 00102 } 00103 } 00104 00105 #endif
© 2011-2012 Nintendo. All rights reserved.
CONFIDENTIAL