00001 #ifndef __INSTANTIO_MFTYPES_H
00002 #define __INSTANTIO_MFTYPES_H
00003
00004 #ifdef _MSC_VER
00005 # pragma once
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "InstantIODef.h"
00027 #include "SmartPtr.h"
00028 #include "TypeName.h"
00029 #include "Color.h"
00030 #include "ColorRGBA.h"
00031 #include "Image.h"
00032 #include "Matrix3.h"
00033 #include "Matrix4.h"
00034 #include "Rotation.h"
00035 #include "Time.h"
00036 #include "Vec2.h"
00037 #include "Vec3.h"
00038 #include "Vec4.h"
00039 #include <vector>
00040 #include <string>
00041
00042
00043 namespace InstantIO
00044 {
00045
00046
00047 typedef std::vector<bool> MFBool;
00048 typedef std::vector<Color> MFColor;
00049 typedef std::vector<ColorRGBA> MFColorRGBA;
00050 typedef std::vector<double> MFDouble;
00051 typedef std::vector<float> MFFloat;
00052 typedef std::vector<Image> MFImage;
00053 typedef std::vector<long> MFInt32;
00054 typedef std::vector<Matrix3d> MFMatrix3d;
00055 typedef std::vector<Matrix3f> MFMatrix3f;
00056 typedef std::vector<Matrix4d> MFMatrix4d;
00057 typedef std::vector<Matrix4f> MFMatrix4f;
00058 typedef std::vector<Rotation> MFRotation;
00059 typedef std::vector<std::string> MFString;
00060 typedef std::vector<Time> MFTime;
00061 typedef std::vector<Vec2d> MFVec2d;
00062 typedef std::vector<Vec2f> MFVec2f;
00063 typedef std::vector<Vec3d> MFVec3d;
00064 typedef std::vector<Vec3f> MFVec3f;
00065 typedef std::vector<Vec4d> MFVec4d;
00066 typedef std::vector<Vec4f> MFVec4f;
00067
00068
00069 typedef SmartPtr<MFBool> MFBoolPtr;
00070 typedef SmartPtr<MFColor> MFColorPtr;
00071 typedef SmartPtr<MFColorRGBA> MFColorRGBAPtr;
00072 typedef SmartPtr<MFDouble> MFDoublePtr;
00073 typedef SmartPtr<MFFloat> MFFloatPtr;
00074 typedef SmartPtr<MFImage> MFImagePtr;
00075 typedef SmartPtr<MFInt32> MFInt32Ptr;
00076 typedef SmartPtr<MFMatrix3d> MFMatrix3dPtr;
00077 typedef SmartPtr<MFMatrix3f> MFMatrix3fPtr;
00078 typedef SmartPtr<MFMatrix4d> MFMatrix4dPtr;
00079 typedef SmartPtr<MFMatrix4f> MFMatrix4fPtr;
00080 typedef SmartPtr<MFRotation> MFRotationPtr;
00081 typedef SmartPtr<MFString> MFStringPtr;
00082 typedef SmartPtr<MFTime> MFTimePtr;
00083 typedef SmartPtr<MFVec2d> MFVec2dPtr;
00084 typedef SmartPtr<MFVec2f> MFVec2fPtr;
00085 typedef SmartPtr<MFVec3d> MFVec3dPtr;
00086 typedef SmartPtr<MFVec3f> MFVec3fPtr;
00087 typedef SmartPtr<MFVec4d> MFVec4dPtr;
00088 typedef SmartPtr<MFVec4f> MFVec4fPtr;
00089
00090
00097 template <>
00098 class INSTANTIO_DLLMAPPING TypeName<MFBool>
00099 {
00100 public:
00101
00106 static const char *getName();
00107 };
00108
00109 template <>
00110 class INSTANTIO_DLLMAPPING TypeName<MFBoolPtr>
00111 {
00112 public:
00113
00118 static const char *getName();
00119 };
00120
00121
00128 template <>
00129 class INSTANTIO_DLLMAPPING TypeName<MFColor>
00130 {
00131 public:
00132
00137 static const char *getName();
00138 };
00139
00140 template <>
00141 class INSTANTIO_DLLMAPPING TypeName<MFColorPtr>
00142 {
00143 public:
00144
00149 static const char *getName();
00150 };
00151
00152
00159 template <>
00160 class INSTANTIO_DLLMAPPING TypeName<MFColorRGBA>
00161 {
00162 public:
00163
00168 static const char *getName();
00169 };
00170
00171 template <>
00172 class INSTANTIO_DLLMAPPING TypeName<MFColorRGBAPtr>
00173 {
00174 public:
00175
00180 static const char *getName();
00181 };
00182
00183
00190 template <>
00191 class INSTANTIO_DLLMAPPING TypeName<MFDouble>
00192 {
00193 public:
00194
00199 static const char *getName();
00200 };
00201
00202 template <>
00203 class INSTANTIO_DLLMAPPING TypeName<MFDoublePtr>
00204 {
00205 public:
00206
00211 static const char *getName();
00212 };
00213
00214
00221 template <>
00222 class INSTANTIO_DLLMAPPING TypeName<MFFloat>
00223 {
00224 public:
00225
00230 static const char *getName();
00231 };
00232
00233 template <>
00234 class INSTANTIO_DLLMAPPING TypeName<MFFloatPtr>
00235 {
00236 public:
00237
00242 static const char *getName();
00243 };
00244
00245
00246 template <>
00247 class INSTANTIO_DLLMAPPING TypeName<MFImagePtr>
00248 {
00249 public:
00250
00255 static const char *getName();
00256 };
00257
00258
00265 template <>
00266 class INSTANTIO_DLLMAPPING TypeName<MFInt32>
00267 {
00268 public:
00269
00274 static const char *getName();
00275 };
00276
00277 template <>
00278 class INSTANTIO_DLLMAPPING TypeName<MFInt32Ptr>
00279 {
00280 public:
00281
00286 static const char *getName();
00287 };
00288
00289
00296 template <>
00297 class INSTANTIO_DLLMAPPING TypeName<MFMatrix3d>
00298 {
00299 public:
00300
00305 static const char *getName();
00306 };
00307
00308 template <>
00309 class INSTANTIO_DLLMAPPING TypeName<MFMatrix3dPtr>
00310 {
00311 public:
00312
00317 static const char *getName();
00318 };
00319
00320
00327 template <>
00328 class INSTANTIO_DLLMAPPING TypeName<MFMatrix3f>
00329 {
00330 public:
00331
00336 static const char *getName();
00337 };
00338
00339 template <>
00340 class INSTANTIO_DLLMAPPING TypeName<MFMatrix3fPtr>
00341 {
00342 public:
00343
00348 static const char *getName();
00349 };
00350
00351
00358 template <>
00359 class INSTANTIO_DLLMAPPING TypeName<MFMatrix4d>
00360 {
00361 public:
00362
00367 static const char *getName();
00368 };
00369
00370 template <>
00371 class INSTANTIO_DLLMAPPING TypeName<MFMatrix4dPtr>
00372 {
00373 public:
00374
00379 static const char *getName();
00380 };
00381
00382
00389 template <>
00390 class INSTANTIO_DLLMAPPING TypeName<MFMatrix4f>
00391 {
00392 public:
00393
00398 static const char *getName();
00399 };
00400
00401 template <>
00402 class INSTANTIO_DLLMAPPING TypeName<MFMatrix4fPtr>
00403 {
00404 public:
00405
00410 static const char *getName();
00411 };
00412
00413
00420 template <>
00421 class INSTANTIO_DLLMAPPING TypeName<MFRotation>
00422 {
00423 public:
00424
00429 static const char *getName();
00430 };
00431
00432 template <>
00433 class INSTANTIO_DLLMAPPING TypeName<MFRotationPtr>
00434 {
00435 public:
00436
00441 static const char *getName();
00442 };
00443
00444
00451 template <>
00452 class INSTANTIO_DLLMAPPING TypeName<MFString>
00453 {
00454 public:
00455
00460 static const char *getName();
00461 };
00462
00463 template <>
00464 class INSTANTIO_DLLMAPPING TypeName<MFStringPtr>
00465 {
00466 public:
00467
00472 static const char *getName();
00473 };
00474
00475
00482 template <>
00483 class INSTANTIO_DLLMAPPING TypeName<MFTime>
00484 {
00485 public:
00486
00491 static const char *getName();
00492 };
00493
00494 template <>
00495 class INSTANTIO_DLLMAPPING TypeName<MFTimePtr>
00496 {
00497 public:
00498
00503 static const char *getName();
00504 };
00505
00506
00513 template <>
00514 class INSTANTIO_DLLMAPPING TypeName<MFVec2d>
00515 {
00516 public:
00517
00522 static const char *getName();
00523 };
00524
00525 template <>
00526 class INSTANTIO_DLLMAPPING TypeName<MFVec2dPtr>
00527 {
00528 public:
00529
00534 static const char *getName();
00535 };
00536
00537
00544 template <>
00545 class INSTANTIO_DLLMAPPING TypeName<MFVec2f>
00546 {
00547 public:
00548
00553 static const char *getName();
00554 };
00555
00556 template <>
00557 class INSTANTIO_DLLMAPPING TypeName<MFVec2fPtr>
00558 {
00559 public:
00560
00565 static const char *getName();
00566 };
00567
00568
00575 template <>
00576 class INSTANTIO_DLLMAPPING TypeName<MFVec3d>
00577 {
00578 public:
00579
00584 static const char *getName();
00585 };
00586
00587 template <>
00588 class INSTANTIO_DLLMAPPING TypeName<MFVec3dPtr>
00589 {
00590 public:
00591
00596 static const char *getName();
00597 };
00598
00599
00606 template <>
00607 class INSTANTIO_DLLMAPPING TypeName<MFVec3f>
00608 {
00609 public:
00610
00615 static const char *getName();
00616 };
00617
00618 template <>
00619 class INSTANTIO_DLLMAPPING TypeName<MFVec3fPtr>
00620 {
00621 public:
00622
00627 static const char *getName();
00628 };
00629
00630
00637 template <>
00638 class INSTANTIO_DLLMAPPING TypeName<MFVec4d>
00639 {
00640 public:
00641
00646 static const char *getName();
00647 };
00648
00649 template <>
00650 class INSTANTIO_DLLMAPPING TypeName<MFVec4dPtr>
00651 {
00652 public:
00653
00658 static const char *getName();
00659 };
00660
00661
00668 template <>
00669 class INSTANTIO_DLLMAPPING TypeName<MFVec4f>
00670 {
00671 public:
00672
00677 static const char *getName();
00678 };
00679
00680 template <>
00681 class INSTANTIO_DLLMAPPING TypeName<MFVec4fPtr>
00682 {
00683 public:
00684
00689 static const char *getName();
00690 };
00691
00692
00693 }
00694
00695
00696 #endif // __INSTANTIO_MFTYPES_H