00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef _OSGGEOPROPFIELDS_H_
00040 #define _OSGGEOPROPFIELDS_H_
00041 #ifdef __sgi
00042 #pragma once
00043 #endif
00044
00045 #include <OSGGeoPropertyBase.h>
00046
00047 OSG_BEGIN_NAMESPACE
00048
00054 typedef GeoPositions::PtrType GeoPositionsPtr;
00055 typedef GeoNormals ::PtrType GeoNormalsPtr;
00056 typedef GeoColors ::PtrType GeoColorsPtr;
00057 typedef GeoTexCoords::PtrType GeoTexCoordsPtr;
00058 typedef GeoIndices ::PtrType GeoIndicesPtr;
00059 typedef GeoPTypes ::PtrType GeoPTypesPtr;
00060 typedef GeoPLengths ::PtrType GeoPLengthsPtr;
00061
00062
00063
00064
00065 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00066
00069 #if !defined(OSG_DOC_DEV_TRAITS)
00070
00071 #endif
00072
00073 template <>
00074 struct FieldDataTraits<GeoPositionsPtr> :
00075 public FieldTraitsRecurseMapper<GeoPositionsPtr, true>
00076 {
00077
00081 typedef FieldDataTraits<GeoPositionsPtr> Self;
00082 static DataType _type;
00083
00084 enum { StringConvertable = Self::ToStringConvertable };
00085 enum { bHasParent = 0x01 };
00086
00088
00092 static DataType &getType (void) { return _type; }
00093 static Char8 *getSName (void) { return "SFGeoPositionsPtr"; }
00094 static Char8 *getMName (void) { return "MFGeoPositionsPtr"; }
00095
00097 };
00098
00099 #if !defined(OSG_DOC_DEV_TRAITS)
00100
00102 #endif
00103
00104 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00105
00106 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00107
00108 typedef SField<GeoPositionsPtr> SFGeoPositionsPtr;
00109
00111 typedef MField<GeoPositionsPtr> MFGeoPositionsPtr;
00112 #endif
00113
00114 #ifndef OSG_COMPILEGEOPROPFIELDINST
00115 OSG_DLLEXPORT_DECL1(SField, GeoPositionsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00116 OSG_DLLEXPORT_DECL1(MField, GeoPositionsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00117 #endif
00118
00119
00120
00121
00122 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00123
00126 #if !defined(OSG_DOC_DEV_TRAITS)
00128 #endif
00129
00130 template <>
00131 struct FieldDataTraits<GeoNormalsPtr> :
00132 public FieldTraitsRecurseMapper<GeoNormalsPtr, true>
00133 {
00134
00138 typedef FieldDataTraits<GeoNormalsPtr> Self;
00139 static DataType _type;
00140
00141 enum { StringConvertable = Self::ToStringConvertable };
00142 enum { bHasParent = 0x01 };
00143
00145
00149 static DataType &getType (void) { return _type; }
00150 static Char8 *getSName (void) { return "SFGeoNormalsPtr"; }
00151 static Char8 *getMName (void) { return "MFGeoNormalsPtr"; }
00152
00154
00155 };
00156
00157 #if !defined(OSG_DOC_DEV_TRAITS)
00158
00160 #endif
00161
00162 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00163
00164 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00165
00166 typedef SField<GeoNormalsPtr> SFGeoNormalsPtr;
00167
00169 typedef MField<GeoNormalsPtr> MFGeoNormalsPtr;
00170
00171 #endif
00172
00173 #ifndef OSG_COMPILEGEOPROPFIELDINST
00174 OSG_DLLEXPORT_DECL1(SField, GeoNormalsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00175 OSG_DLLEXPORT_DECL1(MField, GeoNormalsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00176 #endif
00177
00178
00179
00180
00181 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00182
00185 #if !defined(OSG_DOC_DEV_TRAITS)
00187 #endif
00188
00189 template <>
00190 struct FieldDataTraits<GeoColorsPtr> :
00191 public FieldTraitsRecurseMapper<GeoColorsPtr, true>
00192 {
00193
00197 typedef FieldDataTraits<GeoColorsPtr> Self;
00198 static DataType _type;
00199
00200 enum { StringConvertable = Self::ToStringConvertable };
00201 enum { bHasParent = 0x01 };
00202
00204
00208 static DataType &getType (void) { return _type; }
00209 static Char8 *getSName (void) { return "SFGeoColorsPtr"; }
00210 static Char8 *getMName (void) { return "MFGeoColorsPtr"; }
00211
00213
00214 };
00215
00216 #if !defined(OSG_DOC_DEV_TRAITS)
00217
00219 #endif
00220
00221 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00222
00223 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00224
00225 typedef SField<GeoColorsPtr> SFGeoColorsPtr;
00226
00228 typedef MField<GeoColorsPtr> MFGeoColorsPtr;
00229 #endif
00230
00231 #ifndef OSG_COMPILEGEOPROPFIELDINST
00232 OSG_DLLEXPORT_DECL1(SField, GeoColorsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00233 OSG_DLLEXPORT_DECL1(MField, GeoColorsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00234 #endif
00235
00236
00237
00238
00239 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00240
00243 #if !defined(OSG_DOC_DEV_TRAITS)
00245 #endif
00246
00247 template <>
00248 struct FieldDataTraits<GeoTexCoordsPtr> :
00249 public FieldTraitsRecurseMapper<GeoTexCoordsPtr, true>
00250 {
00251
00255 typedef FieldDataTraits<GeoTexCoordsPtr> Self;
00256 static DataType _type;
00257
00258 enum { StringConvertable = Self::ToStringConvertable };
00259 enum { bHasParent = 0x01 };
00260
00262
00266 static DataType &getType (void) { return _type; }
00267 static Char8 *getSName (void) { return "SFGeoTexCoordsPtr"; }
00268 static Char8 *getMName (void) { return "MFGeoTexCoordsPtr"; }
00269
00271
00272 };
00273
00274 #if !defined(OSG_DOC_DEV_TRAITS)
00275
00277 #endif
00278
00279 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00280
00281 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00282
00283 typedef SField<GeoTexCoordsPtr> SFGeoTexCoordsPtr;
00284
00286 typedef MField<GeoTexCoordsPtr> MFGeoTexCoordsPtr;
00287 #endif
00288
00289 #ifndef OSG_COMPILEGEOPROPFIELDINST
00290 OSG_DLLEXPORT_DECL1(SField, GeoTexCoordsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00291 OSG_DLLEXPORT_DECL1(MField, GeoTexCoordsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00292 #endif
00293
00294
00295
00296
00297 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00298
00301 #if !defined(OSG_DOC_DEV_TRAITS)
00303 #endif
00304
00305 template <>
00306 struct FieldDataTraits<GeoIndicesPtr> :
00307 public FieldTraitsRecurseMapper<GeoIndicesPtr, true>
00308 {
00309
00313 typedef FieldDataTraits<GeoIndicesPtr> Self;
00314 static DataType _type;
00315
00316 enum { StringConvertable = Self::ToStringConvertable };
00317 enum { bHasParent = 0x01 };
00318
00320
00324 static DataType &getType (void) { return _type; }
00325 static Char8 *getSName (void) { return "SFGeoIndicesPtr"; }
00326 static Char8 *getMName (void) { return "MFGeoIndicesPtr"; }
00327
00329
00330 };
00331
00332 #if !defined(OSG_DOC_DEV_TRAITS)
00333
00335 #endif
00336
00337 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00338
00339 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00340
00341 typedef SField<GeoIndicesPtr> SFGeoIndicesPtr;
00342
00344 typedef MField<GeoIndicesPtr> MFGeoIndicesPtr;
00345 #endif
00346
00347 #ifndef OSG_COMPILEGEOPROPFIELDINST
00348 OSG_DLLEXPORT_DECL1(SField, GeoIndicesPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00349 OSG_DLLEXPORT_DECL1(MField, GeoIndicesPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00350 #endif
00351
00352
00353
00354
00355 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00356
00359 #if !defined(OSG_DOC_DEV_TRAITS)
00361 #endif
00362
00363 template <>
00364 struct FieldDataTraits<GeoPTypesPtr> :
00365 public FieldTraitsRecurseMapper<GeoPTypesPtr, true>
00366 {
00367
00371 typedef FieldDataTraits<GeoPTypesPtr> Self;
00372 static DataType _type;
00373
00374 enum { StringConvertable = Self::ToStringConvertable };
00375 enum { bHasParent = 0x01 };
00376
00378
00382 static DataType &getType (void) { return _type; }
00383 static Char8 *getSName (void) { return "SFGeoPTypesPtr"; }
00384 static Char8 *getMName (void) { return "MFGeoPTypesPtr"; }
00385
00387
00388 };
00389
00390 #if !defined(OSG_DOC_DEV_TRAITS)
00391
00393 #endif
00394
00395 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00396
00397 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00398
00399 typedef SField<GeoPTypesPtr> SFGeoPTypesPtr;
00400
00402 typedef MField<GeoPTypesPtr> MFGeoPTypesPtr;
00403 #endif
00404
00405 #ifndef OSG_COMPILEGEOPROPFIELDINST
00406 OSG_DLLEXPORT_DECL1(SField, GeoPTypesPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00407 OSG_DLLEXPORT_DECL1(MField, GeoPTypesPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00408 #endif
00409
00410
00411
00412
00413 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00414
00417 #if !defined(OSG_DOC_DEV_TRAITS)
00419 #endif
00420
00421 template <>
00422 struct FieldDataTraits<GeoPLengthsPtr> :
00423 public FieldTraitsRecurseMapper<GeoPLengthsPtr, true>
00424 {
00425
00429 typedef FieldDataTraits<GeoPLengthsPtr> Self;
00430 static DataType _type;
00431
00432 enum { StringConvertable = Self::ToStringConvertable };
00433 enum { bHasParent = 0x01 };
00434
00436
00440 static DataType &getType (void) { return _type; }
00441 static char *getSName (void) { return "SFGeoPLengthsPtr"; }
00442 static char *getMName (void) { return "MFGeoPLengthsPtr"; }
00443
00445
00446 };
00447
00448 #if !defined(OSG_DOC_DEV_TRAITS)
00449
00451 #endif
00452
00453 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00454
00455 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00456
00457 typedef SField<GeoPLengthsPtr> SFGeoPLengthsPtr;
00458
00460 typedef MField<GeoPLengthsPtr> MFGeoPLengthsPtr;
00461 #endif
00462
00463 #ifndef OSG_COMPILEGEOPROPFIELDINST
00464 OSG_DLLEXPORT_DECL1(SField, GeoPLengthsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00465 OSG_DLLEXPORT_DECL1(MField, GeoPLengthsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00466 #endif
00467
00468 OSG_END_NAMESPACE
00469
00470 #endif
00471
00472