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 00040 #ifndef _OSGIMAGEGENERICATT_H_ 00041 #define _OSGIMAGEGENERICATT_H_ 00042 #ifdef __sgi 00043 #pragma once 00044 #endif 00045 00046 #include <OSGSystemDef.h> 00047 #include <OSGBaseTypes.h> 00048 #include <OSGBaseFunctions.h> 00049 #include <vector> 00050 #include <string> 00051 00052 #ifdef OSG_STL_HAS_HASH_MAP 00053 #ifdef OSG_HASH_MAP_AS_EXT 00054 #include <ext/hash_map> 00055 #else 00056 #include <hash_map> 00057 #endif 00058 #else 00059 #include <map> 00060 #endif 00061 00062 #include <OSGFieldContainerPtr.h> 00063 #include <OSGField.h> 00064 #include <OSGFieldContainer.h> 00065 #include <OSGAttachment.h> 00066 #include <OSGSFSysTypes.h> 00067 #include <OSGSFVecTypes.h> 00068 #include <OSGSFFieldContainerPtr.h> 00069 #include <OSGComponentTransform.h> 00070 #include <OSGAttachmentFieldDataType.h> 00071 00072 OSG_BEGIN_NAMESPACE 00073 00076 struct ImageGenericAttDesc 00077 { 00078 typedef Attachment Parent; 00079 typedef AttachmentPtr ParentPtr; 00080 00081 static const Char8 *getTypeName (void) { return "ImageGenericAtt"; } 00082 static const Char8 *getParentTypeName(void) { return "Attachment"; } 00083 static const Char8 *getGroupName (void) { return "ImageGenAtt"; } 00084 00085 static InitContainerF getInitMethod(void) { return NULL; } 00086 00087 static FieldDescription **getDesc (void) { return NULL; } 00088 }; 00089 00090 typedef DynFieldAttachment<ImageGenericAttDesc> ImageGenericAtt; 00091 typedef ImageGenericAtt::PtrType ImageGenericAttPtr; 00092 00093 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00094 00095 #ifndef OSG_IMAGEGENERICATT 00096 #if defined(OSG_WIN32_CL) && _MSC_VER > 1300 00097 OSG_ABSTR_FC_DLLEXPORT_DECL(DynFieldAttachment, 00098 ImageGenericAttDesc, 00099 ) 00100 #else 00101 OSG_ABSTR_FC_DLLEXPORT_DECL(DynFieldAttachment, 00102 ImageGenericAttDesc, 00103 OSG_SYSTEMLIB_DLLTMPLMAPPING) 00104 #endif 00105 #endif 00106 00107 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00108 00109 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 00110 00113 #if !defined(OSG_DOC_DEV_TRAITS) 00114 00115 #endif 00116 00117 template <> 00118 struct FieldDataTraits<ImageGenericAttPtr> : 00119 public FieldTraitsRecurseMapper<ImageGenericAttPtr, true> 00120 { 00121 static DataType _type; 00122 enum { StringConvertable = 0x00 }; 00123 enum { bHasParent = 0x01 }; 00124 00125 static DataType &getType (void) { return _type; } 00126 static Char8 *getSName(void) { return "SFImageGenericAttPtr"; } 00127 static Char8 *getMName(void) { return "MFImageGenericAttPtr"; } 00128 }; 00129 00130 #if !defined(OSG_DOC_DEV_TRAITS) 00131 00133 #endif 00134 00135 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 00136 00137 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS) 00138 00140 typedef SField<ImageGenericAttPtr> SFImageGenericAttPtr; 00141 #endif 00142 00143 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00144 00145 #ifndef OSG_IMAGEGENERICATT 00146 OSG_DLLEXPORT_DECL1(SField, ImageGenericAttPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING) 00147 #endif 00148 00149 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00150 00151 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS) 00152 00154 typedef MField<ImageGenericAttPtr> MFImageGenericAttPtr; 00155 #endif 00156 00157 #ifndef OSG_IMAGEGENERICATT 00158 OSG_DLLEXPORT_DECL1(MField, ImageGenericAttPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING) 00159 #endif 00160 00161 OSG_END_NAMESPACE 00162 00163 #define OSGIMAGEGENERICATT_HEADER_CVSID "@(#)$Id: $" 00164 00165 #endif /* _OSGIMAGEGENERICATT_H_ */ 00166 00167
1.4.3