Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

OSGExportDefines.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002  *                                OpenSG                                     *
00003  *                                                                           *
00004  *                                                                           *
00005  *             Copyright (C) 2000-2002 by the OpenSG Forum                   *
00006  *                                                                           *
00007  *                            www.opensg.org                                 *
00008  *                                                                           *
00009  *   contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de          *
00010  *                                                                           *
00011 \*---------------------------------------------------------------------------*/
00012 /*---------------------------------------------------------------------------*\
00013  *                                License                                    *
00014  *                                                                           *
00015  * This library is free software; you can redistribute it and/or modify it   *
00016  * under the terms of the GNU Library General Public License as published    *
00017  * by the Free Software Foundation, version 2.                               *
00018  *                                                                           *
00019  * This library is distributed in the hope that it will be useful, but       *
00020  * WITHOUT ANY WARRANTY; without even the implied warranty of                *
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         *
00022  * Library General Public License for more details.                          *
00023  *                                                                           *
00024  * You should have received a copy of the GNU Library General Public         *
00025  * License along with this library; if not, write to the Free Software       *
00026  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                 *
00027  *                                                                           *
00028 \*---------------------------------------------------------------------------*/
00029 /*---------------------------------------------------------------------------*\
00030  *                                Changes                                    *
00031  *                                                                           *
00032  *                                                                           *
00033  *                                                                           *
00034  *                                                                           *
00035  *                                                                           *
00036  *                                                                           *
00037 \*---------------------------------------------------------------------------*/
00038 
00039 #ifndef _OSGEXPORTDEFINES_H_
00040 #define _OSGEXPORTDEFINES_H_
00041 
00042 #ifndef WIN32
00043 #define OSG_DLLEXPORT_DECL1(CLASSNAME, T1, DLLMAPPING)
00044 
00045 #define OSG_DLLEXPORT_DECL2(CLASSNAME, T1, T2, DLLMAPPING)
00046 #else
00047 #ifdef OSG_WIN32_ICL
00048 #define OSG_EXPORT_TYPE_DECL1(CLASSNAME, T1, DLLMAPPING)                     \
00049     extern template DLLMAPPING                                               \
00050         const FieldType  CLASSNAME<T1>::_fieldType;
00051 #define OSG_EXPORT_TYPE_DECL2(CLASSNAME, T1, T2, DLLMAPPING)                 \
00052     extern template DLLMAPPING                                               \
00053         const FieldType  CLASSNAME<T1, T2>::_fieldType;
00054 
00055 #define OSG_EXPORT_GETTYPE_DECL1(CLASSNAME, T1, DLLMAPPING)                  \
00056     extern template DLLMAPPING                                               \
00057         const FieldType &CLASSNAME<T1>::getType    (void) const;
00058 #define OSG_EXPORT_GETTYPE_DECL2(CLASSNAME, T1, T2, DLLMAPPING)              \
00059     extern template DLLMAPPING                                               \
00060         const FieldType &CLASSNAME<T1, T2>::getType(void) const;
00061 
00062 #define OSG_EXPORT_GETCLASSTYPE_DECL1(CLASSNAME, T1, DLLMAPPING)             \
00063     extern template DLLMAPPING                                               \
00064         const FieldType &CLASSNAME<T1>::getClassType(void);
00065 #define OSG_EXPORT_GETCLASSTYPE_DECL2(CLASSNAME, T1, T2, DLLMAPPING)         \
00066     extern template DLLMAPPING                                               \
00067         const FieldType &CLASSNAME<T1, T2>::getClassType(void);
00068 
00069 #define OSG_DLLEXPORT_DECL1(CLASSNAME, T1, DLLMAPPING)                       \
00070     OSG_EXPORT_GETTYPE_DECL1     (CLASSNAME, T1, DLLMAPPING)                 \
00071     OSG_EXPORT_TYPE_DECL1        (CLASSNAME, T1, DLLMAPPING)                 \
00072     OSG_EXPORT_GETCLASSTYPE_DECL1(CLASSNAME, T1, DLLMAPPING)
00073 
00074 #define OSG_DLLEXPORT_DECL2(CLASSNAME, T1, T2, DLLMAPPING)                   \
00075     OSG_EXPORT_TYPE_DECL2        (CLASSNAME, T1, T2, DLLMAPPING)             \
00076     OSG_EXPORT_GETTYPE_DECL2     (CLASSNAME, T1, T2, DLLMAPPING)             \
00077     OSG_EXPORT_GETCLASSTYPE_DECL2(CLASSNAME, T1, T2, DLLMAPPING)
00078 #else
00079 #define OSG_DLLEXPORT_DECL1(CLASSNAME, T1, DLLMAPPING)                       \
00080     extern template class DLLMAPPING CLASSNAME<T1>;
00081 
00082 #define OSG_DLLEXPORT_DECL2(CLASSNAME, T1, T2, DLLMAPPING)                   \
00083     extern template class DLLMAPPING CLASSNAME<T1, T2>;
00084 #endif
00085 #endif
00086 
00087 #ifndef WIN32
00088 #define OSG_ABSTR_FC_DLLEXPORT_DECL(CLASSNAME, T1, DLLMAPPING)
00089 
00090 #define OSG_FC_DLLEXPORT_DECL(CLASSNAME, T1, DLLMAPPING)
00091 #else
00092 #ifdef OSG_WIN32_ICL
00093 #define OSG_FC_EXPORT_TYPE_DECL(CLASSNAME, T1, DLLMAPPING)                   \
00094     extern template                                                          \
00095         FieldContainerType CLASSNAME<T1>::_type;
00096 
00097 #define OSG_FC_EXPORT_GETTYPE_DECL(CLASSNAME, T1, DLLMAPPING)                \
00098     extern template DLLMAPPING                                               \
00099               FieldContainerType &CLASSNAME<T1>::getType(void);              \
00100     extern template DLLMAPPING                                               \
00101         const FieldContainerType &CLASSNAME<T1>::getType(void) const;        \
00102     extern template DLLMAPPING                                               \
00103               FieldContainerType &CLASSNAME<T1>::getClassType(void);         \
00104     extern template DLLMAPPING                                               \
00105               UInt32              CLASSNAME<T1>::getClassTypeId(void);
00106 
00107 #define OSG_FC_DLLEXPORT_DECL(CLASSNAME, T1, DLLMAPPING)                     \
00108     OSG_FC_EXPORT_TYPE_DECL   (CLASSNAME, T1, DLLMAPPING)                    \
00109     OSG_FC_EXPORT_GETTYPE_DECL(CLASSNAME, T1, DLLMAPPING)     
00110 
00111 #define OSG_ABSTR_FC_DLLEXPORT_DECL(CLASSNAME, T1, DLLMAPPING)               \
00112     OSG_FC_EXPORT_TYPE_DECL   (CLASSNAME, T1, DLLMAPPING)                    \
00113     OSG_FC_EXPORT_GETTYPE_DECL(CLASSNAME, T1, DLLMAPPING)     
00114 #else
00115 #define OSG_FC_EXPORT_TYPE_DECL(CLASSNAME, T1, DLLMAPPING)                   \
00116 
00117 #define OSG_FC_EXPORT_GETTYPE_DECL(CLASSNAME, T1, DLLMAPPING)                \
00118     extern template DLLMAPPING                                               \
00119               FieldContainerType &CLASSNAME<T1>::getType(void);              \
00120     extern template DLLMAPPING                                               \
00121         const FieldContainerType &CLASSNAME<T1>::getType(void) const;        \
00122     extern template DLLMAPPING                                               \
00123               FieldContainerType &CLASSNAME<T1>::getClassType(void);         \
00124     extern template DLLMAPPING                                               \
00125               UInt32              CLASSNAME<T1>::getClassTypeId(void);
00126 
00127 #define OSG_FC_DLLEXPORT_DECL(CLASSNAME, T1, DLLMAPPING)                     \
00128     extern template class DLLMAPPING CLASSNAME<T1>;
00129 
00130 #define OSG_ABSTR_FC_DLLEXPORT_DECL(CLASSNAME, T1, DLLMAPPING)               \
00131     extern template class DLLMAPPING CLASSNAME<T1>;
00132 #endif
00133 #endif
00134 
00135 #ifdef WIN32
00136 #ifdef OSG_WIN32_ICL
00137 #define  OSG_FC_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING)         \
00138 template<>                                                       \
00139 FieldContainerType CLASSNAME< T1 >::_type =                      \
00140     FieldContainerType(                                          \
00141         T1::getTypeName(),                                       \
00142         T1::getParentTypeName(),                                 \
00143         T1::getGroupName(),                                      \
00144         (PrototypeCreateF) &CLASSNAME< T1 >::createEmpty,        \
00145         T1::getInitMethod(),                                     \
00146         T1::getDesc(),                                           \
00147         sizeof(FieldDescription *));                             \
00148                                                                  \
00149 template DLLMAPPING                                              \
00150 FieldContainerType &CLASSNAME< T1 >::getClassType(void);         \
00151                                                                  \
00152 template DLLMAPPING                                              \
00153 UInt32 CLASSNAME< T1 >::getClassTypeId(void);                    \
00154                                                                  \
00155 template DLLMAPPING                                              \
00156 FieldContainerType &CLASSNAME< T1 >::getType(void);              \
00157 template DLLMAPPING                                              \
00158 const FieldContainerType &CLASSNAME< T1 >::getType(void) const
00159 
00160 
00161 #define  OSG_ABSTR_FC_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00162 template<>                                                     \
00163 FieldContainerType CLASSNAME< T1 >::_type =                    \
00164     FieldContainerType(                                        \
00165         T1::getTypeName(),                                     \
00166         T1::getParentTypeName(),                               \
00167         T1::getGroupName(),                                    \
00168         (PrototypeCreateF) &CLASSNAME< T1 >::createEmpty,      \
00169         T1::getInitMethod(),                                   \
00170         T1::getDesc(),                                         \
00171         sizeof(FieldDescription *));                           \
00172                                                                \
00173 template DLLMAPPING                                            \
00174 FieldContainerType &CLASSNAME< T1 >::getClassType(void);       \
00175                                                                \
00176 template DLLMAPPING                                            \
00177 UInt32 CLASSNAME< T1 >::getClassTypeId(void);                  \
00178                                                                \
00179 template DLLMAPPING                                            \
00180 FieldContainerType &CLASSNAME< T1 >::getType(void);            \
00181 template DLLMAPPING                                            \
00182 const FieldContainerType &CLASSNAME< T1 >::getType(void) const
00183 
00184 #define  OSG_DYNFIELD_FC_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00185 template<>                                                     \
00186 FieldContainerType CLASSNAME< T1 >::_type =                    \
00187     FieldContainerType(                                        \
00188         T1::getTypeName(),                                     \
00189         T1::getParentTypeName(),                               \
00190         T1::getGroupName(),                                    \
00191         (PrototypeCreateF) &CLASSNAME< T1 >::createEmpty,      \
00192         T1::getInitMethod(),                                   \
00193         NULL,                                                  \
00194         0,                                                     \
00195         true);                                                 \
00196                                                                \
00197 template DLLMAPPING                                            \
00198 FieldContainerType &CLASSNAME< T1 >::getClassType(void);       \
00199                                                                \
00200 template DLLMAPPING                                            \
00201 UInt32 CLASSNAME< T1 >::getClassTypeId(void);                  \
00202                                                                \
00203 template DLLMAPPING                                            \
00204 FieldContainerType &CLASSNAME< T1 >::getType(void);            \
00205 template DLLMAPPING                                            \
00206 const FieldContainerType &CLASSNAME< T1 >::getType(void) const
00207 #else
00208 #define  OSG_FC_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING)         \
00209 template<>                                                       \
00210 FieldContainerType CLASSNAME< T1 >::_type =                      \
00211     FieldContainerType(                                          \
00212         T1::getTypeName(),                                       \
00213         T1::getParentTypeName(),                                 \
00214         T1::getGroupName(),                                      \
00215         (PrototypeCreateF) &CLASSNAME< T1 >::createEmpty,        \
00216         T1::getInitMethod(),                                     \
00217         T1::getDesc(),                                           \
00218         sizeof(FieldDescription *));                             \
00219 template class DLLMAPPING CLASSNAME< T1 >
00220 
00221 #define  OSG_DYNFIELD_FC_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00222 template<>                                                     \
00223 FieldContainerType CLASSNAME< T1 >::_type =                    \
00224     FieldContainerType(                                        \
00225         T1::getTypeName(),                                     \
00226         T1::getParentTypeName(),                               \
00227         T1::getGroupName(),                                    \
00228         (PrototypeCreateF) &CLASSNAME< T1 >::createEmpty,      \
00229         T1::getInitMethod(),                                   \
00230         NULL,                                                  \
00231         0,                                                     \
00232         true);                                                 \
00233 template class DLLMAPPING CLASSNAME< T1 >
00234 #endif
00235 #else
00236 #define  OSG_FC_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING)         \
00237 template<>                                                       \
00238 FieldContainerType CLASSNAME< T1 >::_type =                      \
00239     FieldContainerType(                                          \
00240         T1::getTypeName(),                                       \
00241         T1::getParentTypeName(),                                 \
00242         T1::getGroupName(),                                      \
00243         (PrototypeCreateF) &CLASSNAME< T1 >::createEmpty,        \
00244         T1::getInitMethod(),                                     \
00245         T1::getDesc(),                                           \
00246         sizeof(FieldDescription *))
00247 
00248 #define  OSG_ABSTR_FC_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00249 template<>                                                     \
00250 FieldContainerType CLASSNAME< T1 >::_type =                    \
00251     FieldContainerType(                                        \
00252         T1::getTypeName(),                                     \
00253         T1::getParentTypeName(),                               \
00254         T1::getGroupName(),                                    \
00255         (PrototypeCreateF) &CLASSNAME< T1 >::createEmpty,      \
00256         T1::getInitMethod(),                                   \
00257         T1::getDesc(),                                         \
00258         sizeof(FieldDescription *))
00259 
00260 #define  OSG_DYNFIELD_FC_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00261 template<>                                                     \
00262 FieldContainerType CLASSNAME< T1 >::_type =                    \
00263     FieldContainerType(                                        \
00264         T1::getTypeName(),                                     \
00265         T1::getParentTypeName(),                               \
00266         T1::getGroupName(),                                    \
00267         (PrototypeCreateF) &CLASSNAME< T1 >::createEmpty,      \
00268         T1::getInitMethod(),                                   \
00269         NULL,                                                  \
00270         0,                                                     \
00271         true)
00272 #endif
00273 
00274 #ifdef WIN32
00275 #ifdef OSG_WIN32_ICL
00276 #define  OSG_ABSTR_GEOPROP_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00277 template <>                                                         \
00278 FieldContainerType AbstractGeoProperty< T1 >::_type(                \
00279         T1                ::getTypeName  (),                        \
00280         LocalInheritedDesc::getTypeName  (),                        \
00281         T1                ::getGroupName (),                        \
00282         NULL,                                                       \
00283         T1                ::getInitMethod(),                        \
00284         NULL,                                                       \
00285         0);                                                         \
00286                                                                     \
00287 template DLLMAPPING                                                 \
00288 FieldContainerType &AbstractGeoProperty< T1 >::getClassType(void);  \
00289                                                                     \
00290 template DLLMAPPING                                                 \
00291 UInt32 AbstractGeoProperty< T1 >::getClassTypeId(void);             \
00292                                                                     \
00293 template DLLMAPPING                                                 \
00294 FieldContainerType &AbstractGeoProperty< T1 >::getType(void);       \
00295 template DLLMAPPING                                                 \
00296 const FieldContainerType &AbstractGeoProperty< T1 >::getType(void) const
00297 
00298 
00299 #define  OSG_GEOPROP_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00300 template <>                                                   \
00301 FieldContainerType GeoProperty< T1 >::_type(                  \
00302     T1                ::getTypeName(),                        \
00303     LocalInheritedDesc::getTypeName(),                        \
00304     T1                ::getGroupName(),                       \
00305     (PrototypeCreateF) &GeoProperty< T1 >::createEmpty,       \
00306     T1                ::getInitMethod(),                      \
00307     T1                ::getDesc(),                            \
00308     sizeof(FieldDescription *));                              \
00309                                                               \
00310 template DLLMAPPING                                           \
00311 FieldContainerType &GeoProperty< T1 >::getClassType(void);    \
00312                                                               \
00313 template DLLMAPPING                                           \
00314 UInt32 GeoProperty< T1 >::getClassTypeId(void);               \
00315                                                               \
00316 template DLLMAPPING                                           \
00317 FieldContainerType &GeoProperty< T1 >::getType(void);         \
00318 template DLLMAPPING                                           \
00319 const FieldContainerType &GeoProperty< T1 >::getType(void) const
00320 #else
00321 #define  OSG_ABSTR_GEOPROP_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00322 template <>                                                         \
00323 FieldContainerType AbstractGeoProperty< T1 >::_type(                \
00324         T1                ::getTypeName  (),                        \
00325         LocalInheritedDesc::getTypeName  (),                        \
00326         T1                ::getGroupName (),                        \
00327         NULL,                                                       \
00328         T1                ::getInitMethod(),                        \
00329         NULL,                                                       \
00330         0);                                                         \
00331                                                                     \
00332 template class DLLMAPPING AbstractGeoProperty< T1 >
00333 
00334 #define  OSG_GEOPROP_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00335 template <>                                                   \
00336 FieldContainerType GeoProperty< T1 >::_type(                  \
00337     T1                ::getTypeName(),                        \
00338     LocalInheritedDesc::getTypeName(),                        \
00339     T1                ::getGroupName(),                       \
00340     (PrototypeCreateF) &GeoProperty< T1 >::createEmpty,       \
00341     T1                ::getInitMethod(),                      \
00342     T1                ::getDesc(),                            \
00343     sizeof(FieldDescription *));                              \
00344                                                               \
00345 template class DLLMAPPING GeoProperty< T1 >
00346 #endif
00347 #else
00348 #define  OSG_ABSTR_GEOPROP_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00349 template <>                                                         \
00350 FieldContainerType AbstractGeoProperty< T1 >::_type(                \
00351         T1                ::getTypeName  (),                        \
00352         LocalInheritedDesc::getTypeName  (),                        \
00353         T1                ::getGroupName (),                        \
00354         NULL,                                                       \
00355         T1                ::getInitMethod(),                        \
00356         NULL,                                                       \
00357         0)
00358 
00359 #define  OSG_GEOPROP_DLLEXPORT_DEF(CLASSNAME, T1, DLLMAPPING) \
00360 template <>                                                   \
00361 FieldContainerType GeoProperty< T1 >::_type(                  \
00362     T1                ::getTypeName(),                        \
00363     LocalInheritedDesc::getTypeName(),                        \
00364     T1                ::getGroupName(),                       \
00365     (PrototypeCreateF) &GeoProperty< T1 >::createEmpty,       \
00366     T1                ::getInitMethod(),                      \
00367     T1                ::getDesc(),                            \
00368     sizeof(FieldDescription *))
00369 #endif
00370 
00371 #define OSG_DLLEXPORT_SFIELD_TYPE_DEF1(T1,     DLLMAPPING) \
00372 template <>                                                \
00373 const FieldType SField< T1, 0 >::_fieldType(               \
00374     SFieldTraits::getSName(),                              \
00375     SFieldTraits::getPName (),                             \
00376     SFieldTraits::getType(),                               \
00377     SField< T1, 0 >::create,                               \
00378     FieldType::SINGLE_FIELD)
00379 
00380 #define OSG_DLLEXPORT_SFIELD_TYPE_DEF1_ST(T1,     DLLMAPPING) \
00381 template <>                                                   \
00382 const FieldType SField< T1, 0 >::_fieldType(                  \
00383     SFieldTraits::getSName(),                                 \
00384     SFieldTraits::getPName (),                                \
00385     SFieldTraits::getType(),                                  \
00386     SField< T1, 0 >::create,                                  \
00387     FieldType::SINGLE_FIELD,                                  \
00388     SFieldTraits::getScanAsTypeSF())
00389 
00390 #define OSG_DLLEXPORT_SFIELD_TYPE_DEF2(T1, T2, DLLMAPPING) \
00391 template <>                                                \
00392 const FieldType SField< T1, T2 >::_fieldType(              \
00393     SFieldTraits::getSName(),                              \
00394     SFieldTraits::getPName (),                             \
00395     SFieldTraits::getType(),                               \
00396     SField< T1, T2 >::create,                              \
00397     FieldType::SINGLE_FIELD)
00398 
00399 #define OSG_DLLEXPORT_MFIELD_TYPE_DEF1(T1,     DLLMAPPING) \
00400 template <>                                                \
00401 const FieldType MField< T1, 0 >::_fieldType(               \
00402     MFieldTraits::getMName(),                              \
00403     MFieldTraits::getPName (),                             \
00404     MFieldTraits::getType(),                               \
00405     MField< T1 >::create,                                  \
00406     FieldType::MULTI_FIELD)
00407 
00408 #define OSG_DLLEXPORT_MFIELD_TYPE_DEF1_ST(T1,     DLLMAPPING) \
00409 template <>                                                   \
00410 const FieldType MField< T1, 0 >::_fieldType(                  \
00411     MFieldTraits::getMName(),                                 \
00412     MFieldTraits::getPName (),                                \
00413     MFieldTraits::getType(),                                  \
00414     MField< T1 >::create,                                     \
00415     FieldType::MULTI_FIELD,                                   \
00416     MFieldTraits::getScanAsTypeMF())
00417 
00418 #define OSG_DLLEXPORT_MFIELD_TYPE_DEF2(T1, T2, DLLMAPPING) \
00419 template <>                                                \
00420 const FieldType MField< T1, T2 >::_fieldType(              \
00421     MFieldTraits::getMName(),                              \
00422     MFieldTraits::getPName (),                             \
00423     MFieldTraits::getType(),                               \
00424     MField< T1, T2 >::create,                              \
00425     FieldType::MULTI_FIELD)
00426 
00427 
00428 #if defined(OSG_WIN32_ICL)
00429 #define OSG_DLLEXPORT_SFIELD_GET_TYPE_DEF1(T1,     DLLMAPPING) \
00430 template DLLMAPPING                                            \
00431 const FieldType  SField< T1, 0 >::_fieldType;                  \
00432 template DLLMAPPING                                            \
00433 const FieldType &SField< T1, 0 >::getClassType(void);          \
00434 template DLLMAPPING                                            \
00435 const FieldType &SField< T1, 0 >::getType(void) const
00436 
00437 #define OSG_DLLEXPORT_SFIELD_GET_TYPE_DEF2(T1, T2, DLLMAPPING) \
00438 template DLLMAPPING                                            \
00439 const FieldType  SField< T1, T2 >::_fieldType;                 \
00440 template DLLMAPPING                                            \
00441 const FieldType &SField< T1, T2 >::getClassType(void);         \
00442 template DLLMAPPING                                            \
00443 const FieldType &SField< T1, T2 >::getType(void) const
00444 
00445 #define OSG_DLLEXPORT_MFIELD_GET_TYPE_DEF1(T1,     DLLMAPPING) \
00446 template DLLMAPPING                                            \
00447 const FieldType  MField< T1, 0 >::_fieldType;                  \
00448 template DLLMAPPING                                            \
00449 const FieldType &MField< T1, 0 >::getClassType(void);          \
00450 template DLLMAPPING                                            \
00451 const FieldType &MField< T1, 0 >::getType(void) const
00452 
00453 #define OSG_DLLEXPORT_MFIELD_GET_TYPE_DEF2(T1, T2, DLLMAPPING) \
00454 template DLLMAPPING                                            \
00455 const FieldType  MField< T1, T2 >::_fieldType;                 \
00456 template DLLMAPPING                                            \
00457 const FieldType &MField< T1, T2 >::getClassType(void);         \
00458 template DLLMAPPING                                            \
00459 const FieldType &MField< T1, T2 >::getType(void) const
00460 #else
00461 #define OSG_DLLEXPORT_SFIELD_GET_TYPE_DEF1(T1,     DLLMAPPING) \
00462 template class DLLMAPPING SField< T1, 0 >
00463 #define OSG_DLLEXPORT_MFIELD_GET_TYPE_DEF1(T1,     DLLMAPPING) \
00464 template class DLLMAPPING MField< T1, 0 >                           
00465 #define OSG_DLLEXPORT_SFIELD_GET_TYPE_DEF2(T1, T2, DLLMAPPING) \
00466 template class DLLMAPPING SField< T1, T2 >                          
00467 #define OSG_DLLEXPORT_MFIELD_GET_TYPE_DEF2(T1, T2, DLLMAPPING) \
00468 template class DLLMAPPING MField< T1, T2 >
00469 #endif
00470 
00471 #ifdef WIN32
00472 #define OSG_DLLEXPORT_SFIELD_DEF1(T1,     DLLMAPPING)         \
00473     OSG_DLLEXPORT_SFIELD_GET_TYPE_DEF1(T1,     DLLMAPPING)
00474 
00475 #define OSG_DLLEXPORT_SFIELD_DEF1_ST(T1,     DLLMAPPING)      \
00476     OSG_DLLEXPORT_SFIELD_GET_TYPE_DEF1(T1,     DLLMAPPING)
00477 
00478 #define OSG_DLLEXPORT_SFIELD_DEF2(T1, T2, DLLMAPPING)         \
00479     OSG_DLLEXPORT_SFIELD_GET_TYPE_DEF2(T1, T2, DLLMAPPING)
00480 
00481 #define OSG_DLLEXPORT_MFIELD_DEF1(T1,     DLLMAPPING)         \
00482     OSG_DLLEXPORT_MFIELD_GET_TYPE_DEF1(T1,     DLLMAPPING) 
00483 
00484 #define OSG_DLLEXPORT_MFIELD_DEF1_ST(T1,     DLLMAPPING)      \
00485     OSG_DLLEXPORT_MFIELD_GET_TYPE_DEF1(T1,     DLLMAPPING) 
00486 
00487 #define OSG_DLLEXPORT_MFIELD_DEF2(T1, T2, DLLMAPPING)         \
00488     OSG_DLLEXPORT_MFIELD_GET_TYPE_DEF2(T1, T2, DLLMAPPING)
00489 
00490 
00491 #define OSG_ABSTR_GEO_PROP_INL_TMPL_DEF(OSG_CLASS,            \
00492                                         OSG_TMPL_PARAM,       \
00493                                         OSG_CLASS_PTR)        \
00494     OSG_FC_SIZE_FUNCTIONS_INL_TMPL_DEF  (OSG_TMPL_PARAM, OSG_CLASS)
00495 
00496 #define OSG_GEO_PROP_INL_TMPL_DEF(OSG_CLASS,                         \
00497                                   OSG_TMPL_PARAM,                    \
00498                                   OSG_CLASS_PTR)                     \
00499     OSG_FC_SIZE_FUNCTIONS_INL_TMPL_DEF  (OSG_TMPL_PARAM, OSG_CLASS)  \
00500     OSG_FC_CREATE_FUNCTIONS_INL_TMPL_DEF(OSG_TMPL_PARAM,             \
00501                                          OSG_CLASS,                  \
00502                                          OSG_CLASS_PTR)
00503 
00504 #define OSG_GEO_PROP_TYPE_TMPL_DEF(OSG_CLASS,                         \
00505                                    OSG_TMPL_PARAM,                    \
00506                                    OSG_CLASS_PTR)                     \
00507     OSG_FC_TYPE_FUNCTIONS_INL_TMPL_DEF(OSG_TMPL_PARAM, OSG_CLASS)
00508 
00509 #else
00510 #define OSG_DLLEXPORT_SFIELD_DEF1(T1,      DLLMAPPING)                \
00511     OSG_DLLEXPORT_SFIELD_TYPE_DEF1(T1,     DLLMAPPING)
00512 
00513 #define OSG_DLLEXPORT_SFIELD_DEF1_ST(T1,   DLLMAPPING)                \
00514     OSG_DLLEXPORT_SFIELD_TYPE_DEF1_ST(T1,  DLLMAPPING)
00515 
00516 #define OSG_DLLEXPORT_SFIELD_DEF2(T1, T2,  DLLMAPPING)                \
00517     OSG_DLLEXPORT_SFIELD_TYPE_DEF2(T1, T2, DLLMAPPING)
00518 
00519 #define OSG_DLLEXPORT_MFIELD_DEF1(T1,      DLLMAPPING)                \
00520     OSG_DLLEXPORT_MFIELD_TYPE_DEF1(T1,     DLLMAPPING)
00521 
00522 #define OSG_DLLEXPORT_MFIELD_DEF1_ST(T1,   DLLMAPPING)                \
00523     OSG_DLLEXPORT_MFIELD_TYPE_DEF1_ST(T1,  DLLMAPPING)
00524 
00525 #define OSG_DLLEXPORT_MFIELD_DEF2(T1, T2,  DLLMAPPING)                \
00526     OSG_DLLEXPORT_MFIELD_TYPE_DEF2(T1, T2, DLLMAPPING)
00527 
00528 
00529 #define OSG_ABSTR_GEO_PROP_INL_TMPL_DEF(OSG_CLASS,            \
00530                                         OSG_TMPL_PARAM,       \
00531                                         OSG_CLASS_PTR)
00532 
00533 #define OSG_GEO_PROP_INL_TMPL_DEF(OSG_CLASS,                         \
00534                                   OSG_TMPL_PARAM,                    \
00535                                   OSG_CLASS_PTR)
00536 
00537 #define OSG_GEO_PROP_TYPE_TMPL_DEF(OSG_CLASS,                         \
00538                                    OSG_TMPL_PARAM,                    \
00539                                    OSG_CLASS_PTR)
00540 #endif
00541 
00542 #endif /* _OSGEXPORTDEFINES_H_ */

Generated on Thu Aug 25 04:04:38 2005 for OpenSG by  doxygen 1.4.3