mod_sim_misc.hh

Go to the documentation of this file.
00001 /*
00008  * LEGAL:   COPYRIGHT (C) 2007 JIM E. BROOKS
00009  *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
00010  *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
00011  *****************************************************************************/
00012 
00013 #if COMPILING_MODULE_SIM
00014 #ifndef MOD_SIM_MISC_HH
00015 #define MOD_SIM_MISC_HH 1
00016 
00017 namespace mod_sim {
00018 
00022 
00024 template<typename T>
00025 SharedPtr< Array<T> >
00026 NewFlatArray( const Array2D<T>& array2d )
00027 {
00028     SharedPtr< Array<T> > flatArray = new Array<T>;
00029     for ( uint i = 0; i < array2d.size(); ++i )  // size() = flat size
00030         flatArray->push_back( array2d[i] );      // Array2D::operator[] flat index
00031     return flatArray;
00032 }
00033 
00035 template<typename T>
00036 SharedPtr< Array<T> >
00037 NewFlatArray( const Array2D<T>& array2d_0,
00038               const Array2D<T>& array2d_1 )
00039 {
00040     SharedPtr< Array<T> > flatArray = new Array<T>;
00041 
00042     for ( uint i = 0; i < array2d_0.size(); ++i )  // first Array2D
00043         flatArray->push_back( array2d_0[i] );
00044 
00045     for ( uint i = 0; i < array2d_1.size(); ++i )  // second Array2D
00046         flatArray->push_back( array2d_1[i] );
00047 
00048     return flatArray;
00049 }
00050 
00051 } // namespace mod_sim
00052 
00053 #endif // MOD_SIM_MISC_HH
00054 #endif // COMPILING_MODULE_SIM
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:12 2007