Main Page | Class Hierarchy | Class List | File List | Class Members

galloc2d.h

00001 /*============================================================================= 00002 File: galloc.h 00003 Purpose: There is a conflict between VC++6 and normal (i.e. egcs) C++ 00004 compiler. This defines macros necessary to solve that problem. 00005 Revision: $Id: galloc2d.h,v 1.2 2002/05/13 21:07:45 philosophil Exp $ 00006 Created by: Philippe Lavoie (3 Oct, 1996) 00007 Modified by: 00008 00009 Copyright notice: 00010 Copyright (C) 1996-1998 Philippe Lavoie 00011 00012 This library is free software; you can redistribute it and/or 00013 modify it under the terms of the GNU Library General Public 00014 License as published by the Free Software Foundation; either 00015 version 2 of the License, or (at your option) any later version. 00016 00017 This library is distributed in the hope that it will be useful, 00018 but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00020 Library General Public License for more details. 00021 00022 You should have received a copy of the GNU Library General Public 00023 License along with this library; if not, write to the Free 00024 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00025 =============================================================================*/ 00026 00027 #ifndef _MATRIX_galloc2d_h_ 00028 #define _MATRIX_galloc2d_h_ 00029 00030 // This file is included inside the PLib namespace by barray2d.h 00031 00032 00033 //template <class T, const int D> class HPoint_nD ; 00034 00035 template<class T> 00036 void initBasic2DArray(Basic2DArray<T>& ary, const int nr, const int nc); 00037 00038 template<class T> 00039 void resizeKeepBasic2DArray(Basic2DArray<T>& ary, const int nr, const int nc); 00040 00041 template <class T, const int D> 00042 void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<T,D> >& a, const int r,const int c) ; 00043 00044 template <class T, const int D> 00045 void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<T,D> >& a, const int r,const int c); 00046 00047 00048 // forward declerations 00049 template<> void initBasic2DArray(Basic2DArray<HPoint_nD<float,3> >& ary, const int nr, const int nc); 00050 template<> void initBasic2DArray(Basic2DArray<HPoint_nD<double,3> >& ary, const int nr, const int nc); 00051 template<> void initBasic2DArray(Basic2DArray<HPoint_nD<float,2> >& ary, const int nr, const int nc); 00052 template<> void initBasic2DArray(Basic2DArray<HPoint_nD<double,2> >& ary, const int nr, const int nc); 00053 00054 00055 template<> void resizeKeepBasic2DArray(Basic2DArray<HPoint_nD<float,3> >& ary, const int nr, const int nc); 00056 template<> void resizeKeepBasic2DArray(Basic2DArray<HPoint_nD<double,3> >& ary, const int nr, const int nc); 00057 template<> void resizeKeepBasic2DArray(Basic2DArray<HPoint_nD<float,2> >& ary, const int nr, const int nc); 00058 template<> void resizeKeepBasic2DArray(Basic2DArray<HPoint_nD<double,2> >& ary, const int nr, const int nc); 00059 00060 00061 00062 #ifdef HAVE_ISO_FRIEND_DECL 00063 00064 #define FRIEND_2DARRAY_ALLOCATOR \ 00065 friend void initBasic2DArray<>(Basic2DArray<T>&, const int, const int); \ 00066 friend void resizeKeepBasic2DArray<>(Basic2DArray<T>&, const int, const int); \ 00067 friend void initBasic2DArrayHPoint<>(Basic2DArray<HPoint_nD<float,3> >&,const int,const int); \ 00068 friend void initBasic2DArrayHPoint<>(Basic2DArray<HPoint_nD<double,3> >&, const int r,const int c); \ 00069 friend void initBasic2DArrayHPoint<>(Basic2DArray<HPoint_nD<float,2> >&, const int r,const int c); \ 00070 friend void initBasic2DArrayHPoint<>(Basic2DArray<HPoint_nD<double,2> >&, const int r,const int c); \ 00071 friend void resizeKeepBasic2DArrayHPoint<>(Basic2DArray<HPoint_nD<float,3> >&,const int,const int); \ 00072 friend void resizeKeepBasic2DArrayHPoint<>(Basic2DArray<HPoint_nD<double,3> >&,const int,const int); \ 00073 friend void resizeKeepBasic2DArrayHPoint<>(Basic2DArray<HPoint_nD<float,2> >&, const int,const int); \ 00074 friend void resizeKeepBasic2DArrayHPoint<>(Basic2DArray<HPoint_nD<double,2> >&, const int,const int); \ 00075 00076 #else 00077 00078 00079 00080 template void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<float,3> >& a, const int r,const int c); 00081 template void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<double,3> >& a,const int r,const int c); 00082 template void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<float,2> >& a, const int r,const int c); 00083 template void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<double,2> >& a,const int r,const int c); 00084 00085 template void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<float,3> >& a, const int r,const int c); 00086 template void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<double,3> >& a, const int r,const int c); 00087 template void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<float,2> >& a, const int r,const int c); 00088 template void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<double,2> >& a, const int r,const int c); 00089 00090 00091 00092 #define FRIEND_2DARRAY_ALLOCATOR \ 00093 friend void initBasic2DArray(Basic2DArray<T>&, const int, const int); \ 00094 friend void resizeKeepBasic2DArray(Basic2DArray<T>&, const int, const int); \ 00095 friend void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<float,3> >&,const int,const int); \ 00096 friend void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<double,3> >&, const int r,const int c); \ 00097 friend void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<float,2> >&, const int r,const int c); \ 00098 friend void initBasic2DArrayHPoint(Basic2DArray<HPoint_nD<double,2> >&, const int r,const int c); \ 00099 friend void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<float,3> >&,const int,const int); \ 00100 friend void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<double,3> >&,const int,const int); \ 00101 friend void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<float,2> >&, const int,const int); \ 00102 friend void resizeKeepBasic2DArrayHPoint(Basic2DArray<HPoint_nD<double,2> >&, const int,const int); \ 00103 00104 00105 #endif 00106 00107 00108 #endif

Generated on Tue Jul 27 15:44:56 2004 for NURBS++ by doxygen 1.3.7