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 typedef RefPtr<GeoPositionsPtr> GeoPositionsRefPtr;
00064 typedef RefPtr<GeoNormalsPtr> GeoNormalsRefPtr;
00065 typedef RefPtr<GeoColorsPtr> GeoColorsRefPtr;
00066 typedef RefPtr<GeoTexCoordsPtr> GeoTexCoordsRefPtr;
00067 typedef RefPtr<GeoIndicesPtr> GeoIndicesRefPtr;
00068 typedef RefPtr<GeoPTypesPtr> GeoPTypesRefPtr;
00069 typedef RefPtr<GeoPLengthsPtr> GeoPLengthsRefPtr;
00070
00071
00072 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00073
00076 #if !defined(OSG_DOC_DEV_TRAITS)
00077
00078 #endif
00079
00080 template <>
00081 struct FieldDataTraits<GeoPositionsPtr> :
00082 public FieldTraitsRecurseMapper<GeoPositionsPtr, true>
00083 {
00084
00088 typedef FieldDataTraits<GeoPositionsPtr> Self;
00089 static DataType _type;
00090
00091 enum { StringConvertable = Self::ToStringConvertable };
00092 enum { bHasParent = 0x01 };
00093
00095
00099 static DataType &getType (void) { return _type; }
00100 static Char8 *getSName (void) { return "SFGeoPositionsPtr"; }
00101 static Char8 *getMName (void) { return "MFGeoPositionsPtr"; }
00102
00104 };
00105
00106 #if !defined(OSG_DOC_DEV_TRAITS)
00107
00109 #endif
00110
00111 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00112
00113 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00114
00115 typedef SField<GeoPositionsPtr> SFGeoPositionsPtr;
00116
00118 typedef MField<GeoPositionsPtr> MFGeoPositionsPtr;
00119 #endif
00120
00121 #ifndef OSG_COMPILEGEOPROPFIELDINST
00122 OSG_DLLEXPORT_DECL1(SField, GeoPositionsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00123 OSG_DLLEXPORT_DECL1(MField, GeoPositionsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00124 #endif
00125
00126
00127
00128
00129 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00130
00133 #if !defined(OSG_DOC_DEV_TRAITS)
00134
00135 #endif
00136
00137 template <>
00138 struct FieldDataTraits<GeoNormalsPtr> :
00139 public FieldTraitsRecurseMapper<GeoNormalsPtr, true>
00140 {
00141
00145 typedef FieldDataTraits<GeoNormalsPtr> Self;
00146 static DataType _type;
00147
00148 enum { StringConvertable = Self::ToStringConvertable };
00149 enum { bHasParent = 0x01 };
00150
00152
00156 static DataType &getType (void) { return _type; }
00157 static Char8 *getSName (void) { return "SFGeoNormalsPtr"; }
00158 static Char8 *getMName (void) { return "MFGeoNormalsPtr"; }
00159
00161
00162 };
00163
00164 #if !defined(OSG_DOC_DEV_TRAITS)
00165
00167 #endif
00168
00169 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00170
00171 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00172
00173 typedef SField<GeoNormalsPtr> SFGeoNormalsPtr;
00174
00176 typedef MField<GeoNormalsPtr> MFGeoNormalsPtr;
00177
00178 #endif
00179
00180 #ifndef OSG_COMPILEGEOPROPFIELDINST
00181 OSG_DLLEXPORT_DECL1(SField, GeoNormalsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00182 OSG_DLLEXPORT_DECL1(MField, GeoNormalsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00183 #endif
00184
00185
00186
00187
00188 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00189
00192 #if !defined(OSG_DOC_DEV_TRAITS)
00193
00194 #endif
00195
00196 template <>
00197 struct FieldDataTraits<GeoColorsPtr> :
00198 public FieldTraitsRecurseMapper<GeoColorsPtr, true>
00199 {
00200
00204 typedef FieldDataTraits<GeoColorsPtr> Self;
00205 static DataType _type;
00206
00207 enum { StringConvertable = Self::ToStringConvertable };
00208 enum { bHasParent = 0x01 };
00209
00211
00215 static DataType &getType (void) { return _type; }
00216 static Char8 *getSName (void) { return "SFGeoColorsPtr"; }
00217 static Char8 *getMName (void) { return "MFGeoColorsPtr"; }
00218
00220
00221 };
00222
00223 #if !defined(OSG_DOC_DEV_TRAITS)
00224
00226 #endif
00227
00228 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00229
00230 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00231
00232 typedef SField<GeoColorsPtr> SFGeoColorsPtr;
00233
00235 typedef MField<GeoColorsPtr> MFGeoColorsPtr;
00236 #endif
00237
00238 #ifndef OSG_COMPILEGEOPROPFIELDINST
00239 OSG_DLLEXPORT_DECL1(SField, GeoColorsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00240 OSG_DLLEXPORT_DECL1(MField, GeoColorsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00241 #endif
00242
00243
00244
00245
00246 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00247
00250 #if !defined(OSG_DOC_DEV_TRAITS)
00251
00252 #endif
00253
00254 template <>
00255 struct FieldDataTraits<GeoTexCoordsPtr> :
00256 public FieldTraitsRecurseMapper<GeoTexCoordsPtr, true>
00257 {
00258
00262 typedef FieldDataTraits<GeoTexCoordsPtr> Self;
00263 static DataType _type;
00264
00265 enum { StringConvertable = Self::ToStringConvertable };
00266 enum { bHasParent = 0x01 };
00267
00269
00273 static DataType &getType (void) { return _type; }
00274 static Char8 *getSName (void) { return "SFGeoTexCoordsPtr"; }
00275 static Char8 *getMName (void) { return "MFGeoTexCoordsPtr"; }
00276
00278
00279 };
00280
00281 #if !defined(OSG_DOC_DEV_TRAITS)
00282
00284 #endif
00285
00286 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00287
00288 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00289
00290 typedef SField<GeoTexCoordsPtr> SFGeoTexCoordsPtr;
00291
00293 typedef MField<GeoTexCoordsPtr> MFGeoTexCoordsPtr;
00294 #endif
00295
00296 #ifndef OSG_COMPILEGEOPROPFIELDINST
00297 OSG_DLLEXPORT_DECL1(SField, GeoTexCoordsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00298 OSG_DLLEXPORT_DECL1(MField, GeoTexCoordsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00299 #endif
00300
00301
00302
00303
00304 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00305
00308 #if !defined(OSG_DOC_DEV_TRAITS)
00309
00310 #endif
00311
00312 template <>
00313 struct FieldDataTraits<GeoIndicesPtr> :
00314 public FieldTraitsRecurseMapper<GeoIndicesPtr, true>
00315 {
00316
00320 typedef FieldDataTraits<GeoIndicesPtr> Self;
00321 static DataType _type;
00322
00323 enum { StringConvertable = Self::ToStringConvertable };
00324 enum { bHasParent = 0x01 };
00325
00327
00331 static DataType &getType (void) { return _type; }
00332 static Char8 *getSName (void) { return "SFGeoIndicesPtr"; }
00333 static Char8 *getMName (void) { return "MFGeoIndicesPtr"; }
00334
00336
00337 };
00338
00339 #if !defined(OSG_DOC_DEV_TRAITS)
00340
00342 #endif
00343
00344 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00345
00346 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00347
00348 typedef SField<GeoIndicesPtr> SFGeoIndicesPtr;
00349
00351 typedef MField<GeoIndicesPtr> MFGeoIndicesPtr;
00352 #endif
00353
00354 #ifndef OSG_COMPILEGEOPROPFIELDINST
00355 OSG_DLLEXPORT_DECL1(SField, GeoIndicesPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00356 OSG_DLLEXPORT_DECL1(MField, GeoIndicesPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00357 #endif
00358
00359
00360
00361
00362 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00363
00366 #if !defined(OSG_DOC_DEV_TRAITS)
00367
00368 #endif
00369
00370 template <>
00371 struct FieldDataTraits<GeoPTypesPtr> :
00372 public FieldTraitsRecurseMapper<GeoPTypesPtr, true>
00373 {
00374
00378 typedef FieldDataTraits<GeoPTypesPtr> Self;
00379 static DataType _type;
00380
00381 enum { StringConvertable = Self::ToStringConvertable };
00382 enum { bHasParent = 0x01 };
00383
00385
00389 static DataType &getType (void) { return _type; }
00390 static Char8 *getSName (void) { return "SFGeoPTypesPtr"; }
00391 static Char8 *getMName (void) { return "MFGeoPTypesPtr"; }
00392
00394
00395 };
00396
00397 #if !defined(OSG_DOC_DEV_TRAITS)
00398
00400 #endif
00401
00402 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00403
00404 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00405
00406 typedef SField<GeoPTypesPtr> SFGeoPTypesPtr;
00407
00409 typedef MField<GeoPTypesPtr> MFGeoPTypesPtr;
00410 #endif
00411
00412 #ifndef OSG_COMPILEGEOPROPFIELDINST
00413 OSG_DLLEXPORT_DECL1(SField, GeoPTypesPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00414 OSG_DLLEXPORT_DECL1(MField, GeoPTypesPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00415 #endif
00416
00417
00418
00419
00420 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00421
00424 #if !defined(OSG_DOC_DEV_TRAITS)
00425
00426 #endif
00427
00428 template <>
00429 struct FieldDataTraits<GeoPLengthsPtr> :
00430 public FieldTraitsRecurseMapper<GeoPLengthsPtr, true>
00431 {
00432
00436 typedef FieldDataTraits<GeoPLengthsPtr> Self;
00437 static DataType _type;
00438
00439 enum { StringConvertable = Self::ToStringConvertable };
00440 enum { bHasParent = 0x01 };
00441
00443
00447 static DataType &getType (void) { return _type; }
00448 static char *getSName (void) { return "SFGeoPLengthsPtr"; }
00449 static char *getMName (void) { return "MFGeoPLengthsPtr"; }
00450
00452
00453 };
00454
00455 #if !defined(OSG_DOC_DEV_TRAITS)
00456
00458 #endif
00459
00460 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)
00461
00462 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)
00463
00464 typedef SField<GeoPLengthsPtr> SFGeoPLengthsPtr;
00465
00467 typedef MField<GeoPLengthsPtr> MFGeoPLengthsPtr;
00468 #endif
00469
00470 #ifndef OSG_COMPILEGEOPROPFIELDINST
00471 OSG_DLLEXPORT_DECL1(SField, GeoPLengthsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00472 OSG_DLLEXPORT_DECL1(MField, GeoPLengthsPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING)
00473 #endif
00474
00475 OSG_END_NAMESPACE
00476
00477 #endif
00478
00479