Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

HxCorbaMatrix.h

Go to the documentation of this file.
00001 // **********************************************************************
00002 //
00003 // Generated by the ORBacus IDL-to-C++ Translator
00004 //
00005 // Copyright (c) 2000
00006 // Object Oriented Concepts, Inc.
00007 // Billerica, MA, USA
00008 //
00009 // All Rights Reserved
00010 //
00011 // **********************************************************************
00012 
00013 // Version: 4.0.5
00014 
00015 #ifndef ___HxCorbaMatrix_h__
00016 #define ___HxCorbaMatrix_h__
00017 
00018 #ifndef OB_INTEGER_VERSION
00019 #   error No ORBacus version defined! Is <OB/CORBA.h> included?
00020 #endif
00021 
00022 #ifndef OB_NO_VERSION_CHECK
00023 #   if (OB_INTEGER_VERSION != 4000500L)
00024 #       error ORBacus version mismatch!
00025 #   endif
00026 #endif
00027 
00028 namespace HxCorba
00029 {
00030 
00031 class Matrix;
00032 typedef Matrix* Matrix_ptr;
00033 typedef Matrix* MatrixRef;
00034 
00035 extern OB::TypeCodeConst _tc_Matrix;
00036 
00037 class MatrixFactory;
00038 typedef MatrixFactory* MatrixFactory_ptr;
00039 typedef MatrixFactory* MatrixFactoryRef;
00040 
00041 extern OB::TypeCodeConst _tc_MatrixFactory;
00042 
00043 } // End of namespace HxCorba
00044 
00045 void OBDuplicate(HxCorba::Matrix_ptr);
00046 void OBRelease(HxCorba::Matrix_ptr);
00047 
00048 void OBMarshal(HxCorba::Matrix_ptr, OB::OutputStreamImpl*);
00049 void OBUnmarshal(HxCorba::Matrix_ptr&, OB::InputStreamImpl*);
00050 
00051 void OBDuplicate(HxCorba::MatrixFactory_ptr);
00052 void OBRelease(HxCorba::MatrixFactory_ptr);
00053 
00054 void OBMarshal(HxCorba::MatrixFactory_ptr, OB::OutputStreamImpl*);
00055 void OBUnmarshal(HxCorba::MatrixFactory_ptr&, OB::InputStreamImpl*);
00056 
00057 namespace HxCorba
00058 {
00059 
00060 typedef OB::ObjVar< Matrix > Matrix_var;
00061 typedef OB::ObjOut< Matrix > Matrix_out;
00062 
00063 typedef OB::ObjVar< MatrixFactory > MatrixFactory_var;
00064 typedef OB::ObjOut< MatrixFactory > MatrixFactory_out;
00065 
00066 } // End of namespace HxCorba
00067 
00068 namespace OBStubImpl_HxCorba
00069 {
00070 
00071 class Matrix;
00072 typedef Matrix* Matrix_ptr;
00073 
00074 class MatrixFactory;
00075 typedef MatrixFactory* MatrixFactory_ptr;
00076 
00077 } // End of namespace OBStubImpl_HxCorba
00078 
00079 void OBDuplicate(OBStubImpl_HxCorba::Matrix_ptr);
00080 void OBRelease(OBStubImpl_HxCorba::Matrix_ptr);
00081 
00082 void OBDuplicate(OBStubImpl_HxCorba::MatrixFactory_ptr);
00083 void OBRelease(OBStubImpl_HxCorba::MatrixFactory_ptr);
00084 
00085 namespace OBStubImpl_HxCorba
00086 {
00087 
00088 typedef OB::ObjVar< Matrix > Matrix_var;
00089 
00090 typedef OB::ObjVar< MatrixFactory > MatrixFactory_var;
00091 
00092 } // End of namespace OBStubImpl_HxCorba
00093 
00094 //
00095 // IDL:HxCorba:1.0
00096 //
00097 namespace HxCorba
00098 {
00099 
00100 //
00101 // IDL:HxCorba/Matrix:1.0
00102 //
00103 class Matrix : virtual public CORBA::Object
00104 {
00105     Matrix(const Matrix&);
00106     void operator=(const Matrix&);
00107 
00108     static const char* ids_[];
00109 
00110 protected:
00111 
00112     virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
00113 
00114 public:
00115 
00116     Matrix() { }
00117     virtual ~Matrix() { }
00118 
00119     typedef Matrix_ptr _ptr_type;
00120     typedef Matrix_var _var_type;
00121 
00122     static inline Matrix_ptr
00123     _duplicate(Matrix_ptr p)
00124     {
00125         if(p)
00126             p -> _OB_incRef();
00127         return p;
00128     }
00129 
00130     static inline Matrix_ptr
00131     _nil()
00132     {
00133         return 0;
00134     }
00135 
00136     static Matrix_ptr _narrow(CORBA::Object_ptr);
00137     static Matrix_ptr _narrow(CORBA::AbstractBase_ptr);
00138 
00139     virtual const char** _OB_ids() const;
00140     static const char** _OB_staticIds();
00141 };
00142 
00143 //
00144 // IDL:HxCorba/MatrixFactory:1.0
00145 //
00146 class MatrixFactory : virtual public CORBA::Object
00147 {
00148     MatrixFactory(const MatrixFactory&);
00149     void operator=(const MatrixFactory&);
00150 
00151     static const char* ids_[];
00152 
00153 protected:
00154 
00155     virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
00156 
00157 public:
00158 
00159     MatrixFactory() { }
00160     virtual ~MatrixFactory() { }
00161 
00162     typedef MatrixFactory_ptr _ptr_type;
00163     typedef MatrixFactory_var _var_type;
00164 
00165     static inline MatrixFactory_ptr
00166     _duplicate(MatrixFactory_ptr p)
00167     {
00168         if(p)
00169             p -> _OB_incRef();
00170         return p;
00171     }
00172 
00173     static inline MatrixFactory_ptr
00174     _nil()
00175     {
00176         return 0;
00177     }
00178 
00179     static MatrixFactory_ptr _narrow(CORBA::Object_ptr);
00180     static MatrixFactory_ptr _narrow(CORBA::AbstractBase_ptr);
00181 
00182     virtual const char** _OB_ids() const;
00183     static const char** _OB_staticIds();
00184 
00185     //
00186     // IDL:HxCorba/MatrixFactory/translate2d:1.0
00187     //
00188     Matrix_ptr translate2d(CORBA::Double x,
00189                            CORBA::Double y);
00190 
00191     //
00192     // IDL:HxCorba/MatrixFactory/scale2d:1.0
00193     //
00194     Matrix_ptr scale2d(CORBA::Double sx,
00195                        CORBA::Double sy);
00196 
00197     //
00198     // IDL:HxCorba/MatrixFactory/rotate2d:1.0
00199     //
00200     Matrix_ptr rotate2d(CORBA::Double alpha);
00201 
00202     //
00203     // IDL:HxCorba/MatrixFactory/rotate2dDeg:1.0
00204     //
00205     Matrix_ptr rotate2dDeg(CORBA::Double alpha);
00206 
00207     //
00208     // IDL:HxCorba/MatrixFactory/reflect2d:1.0
00209     //
00210     Matrix_ptr reflect2d(CORBA::Boolean doX,
00211                          CORBA::Boolean doY);
00212 
00213     //
00214     // IDL:HxCorba/MatrixFactory/shear2d:1.0
00215     //
00216     Matrix_ptr shear2d(CORBA::Double sx,
00217                        CORBA::Double sy);
00218 
00219     //
00220     // IDL:HxCorba/MatrixFactory/translate3d:1.0
00221     //
00222     Matrix_ptr translate3d(CORBA::Double x,
00223                            CORBA::Double y,
00224                            CORBA::Double z);
00225 
00226     //
00227     // IDL:HxCorba/MatrixFactory/scale3d:1.0
00228     //
00229     Matrix_ptr scale3d(CORBA::Double sx,
00230                        CORBA::Double sy,
00231                        CORBA::Double sz);
00232 
00233     //
00234     // IDL:HxCorba/MatrixFactory/rotateX3d:1.0
00235     //
00236     Matrix_ptr rotateX3d(CORBA::Double alpha);
00237 
00238     //
00239     // IDL:HxCorba/MatrixFactory/rotateX3dDeg:1.0
00240     //
00241     Matrix_ptr rotateX3dDeg(CORBA::Double alpha);
00242 
00243     //
00244     // IDL:HxCorba/MatrixFactory/rotateY3d:1.0
00245     //
00246     Matrix_ptr rotateY3d(CORBA::Double alpha);
00247 
00248     //
00249     // IDL:HxCorba/MatrixFactory/rotateY3dDeg:1.0
00250     //
00251     Matrix_ptr rotateY3dDeg(CORBA::Double alpha);
00252 
00253     //
00254     // IDL:HxCorba/MatrixFactory/rotateZ3d:1.0
00255     //
00256     Matrix_ptr rotateZ3d(CORBA::Double alpha);
00257 
00258     //
00259     // IDL:HxCorba/MatrixFactory/rotateZ3dDeg:1.0
00260     //
00261     Matrix_ptr rotateZ3dDeg(CORBA::Double alpha);
00262 
00263     //
00264     // IDL:HxCorba/MatrixFactory/reflect3d:1.0
00265     //
00266     Matrix_ptr reflect3d(CORBA::Boolean doX,
00267                          CORBA::Boolean doY,
00268                          CORBA::Boolean doZ);
00269 
00270     //
00271     // IDL:HxCorba/MatrixFactory/projection:1.0
00272     //
00273     Matrix_ptr projection(CORBA::Double f);
00274 
00275     //
00276     // IDL:HxCorba/MatrixFactory/camera:1.0
00277     //
00278     Matrix_ptr camera(CORBA::Double f);
00279 
00280     //
00281     // IDL:HxCorba/MatrixFactory/lift2dTo3dXY:1.0
00282     //
00283     Matrix_ptr lift2dTo3dXY();
00284 };
00285 
00286 } // End of namespace HxCorba
00287 
00288 //
00289 // IDL:HxCorba:1.0
00290 //
00291 namespace OBStubImpl_HxCorba
00292 {
00293 
00294 //
00295 // IDL:HxCorba/Matrix:1.0
00296 //
00297 class Matrix : virtual public OB::StubImplBase
00298 {
00299     Matrix(const Matrix&);
00300     void operator=(const Matrix&);
00301 
00302 protected:
00303 
00304     Matrix() { }
00305 
00306 public:
00307 
00308     static inline Matrix_ptr
00309     _duplicate(Matrix_ptr p)
00310     {
00311         if(p)
00312             p -> _OB_incRef();
00313         return p;
00314     }
00315 
00316     static inline Matrix_ptr
00317     _nil()
00318     {
00319         return 0;
00320     }
00321 };
00322 
00323 //
00324 // IDL:HxCorba/MatrixFactory:1.0
00325 //
00326 class MatrixFactory : virtual public OB::StubImplBase
00327 {
00328     MatrixFactory(const MatrixFactory&);
00329     void operator=(const MatrixFactory&);
00330 
00331 protected:
00332 
00333     MatrixFactory() { }
00334 
00335 public:
00336 
00337     static inline MatrixFactory_ptr
00338     _duplicate(MatrixFactory_ptr p)
00339     {
00340         if(p)
00341             p -> _OB_incRef();
00342         return p;
00343     }
00344 
00345     static inline MatrixFactory_ptr
00346     _nil()
00347     {
00348         return 0;
00349     }
00350 
00351     //
00352     // IDL:HxCorba/MatrixFactory/translate2d:1.0
00353     //
00354     virtual HxCorba::Matrix_ptr translate2d(CORBA::Double x,
00355                                             CORBA::Double y) = 0;
00356 
00357     //
00358     // IDL:HxCorba/MatrixFactory/scale2d:1.0
00359     //
00360     virtual HxCorba::Matrix_ptr scale2d(CORBA::Double sx,
00361                                         CORBA::Double sy) = 0;
00362 
00363     //
00364     // IDL:HxCorba/MatrixFactory/rotate2d:1.0
00365     //
00366     virtual HxCorba::Matrix_ptr rotate2d(CORBA::Double alpha) = 0;
00367 
00368     //
00369     // IDL:HxCorba/MatrixFactory/rotate2dDeg:1.0
00370     //
00371     virtual HxCorba::Matrix_ptr rotate2dDeg(CORBA::Double alpha) = 0;
00372 
00373     //
00374     // IDL:HxCorba/MatrixFactory/reflect2d:1.0
00375     //
00376     virtual HxCorba::Matrix_ptr reflect2d(CORBA::Boolean doX,
00377                                           CORBA::Boolean doY) = 0;
00378 
00379     //
00380     // IDL:HxCorba/MatrixFactory/shear2d:1.0
00381     //
00382     virtual HxCorba::Matrix_ptr shear2d(CORBA::Double sx,
00383                                         CORBA::Double sy) = 0;
00384 
00385     //
00386     // IDL:HxCorba/MatrixFactory/translate3d:1.0
00387     //
00388     virtual HxCorba::Matrix_ptr translate3d(CORBA::Double x,
00389                                             CORBA::Double y,
00390                                             CORBA::Double z) = 0;
00391 
00392     //
00393     // IDL:HxCorba/MatrixFactory/scale3d:1.0
00394     //
00395     virtual HxCorba::Matrix_ptr scale3d(CORBA::Double sx,
00396                                         CORBA::Double sy,
00397                                         CORBA::Double sz) = 0;
00398 
00399     //
00400     // IDL:HxCorba/MatrixFactory/rotateX3d:1.0
00401     //
00402     virtual HxCorba::Matrix_ptr rotateX3d(CORBA::Double alpha) = 0;
00403 
00404     //
00405     // IDL:HxCorba/MatrixFactory/rotateX3dDeg:1.0
00406     //
00407     virtual HxCorba::Matrix_ptr rotateX3dDeg(CORBA::Double alpha) = 0;
00408 
00409     //
00410     // IDL:HxCorba/MatrixFactory/rotateY3d:1.0
00411     //
00412     virtual HxCorba::Matrix_ptr rotateY3d(CORBA::Double alpha) = 0;
00413 
00414     //
00415     // IDL:HxCorba/MatrixFactory/rotateY3dDeg:1.0
00416     //
00417     virtual HxCorba::Matrix_ptr rotateY3dDeg(CORBA::Double alpha) = 0;
00418 
00419     //
00420     // IDL:HxCorba/MatrixFactory/rotateZ3d:1.0
00421     //
00422     virtual HxCorba::Matrix_ptr rotateZ3d(CORBA::Double alpha) = 0;
00423 
00424     //
00425     // IDL:HxCorba/MatrixFactory/rotateZ3dDeg:1.0
00426     //
00427     virtual HxCorba::Matrix_ptr rotateZ3dDeg(CORBA::Double alpha) = 0;
00428 
00429     //
00430     // IDL:HxCorba/MatrixFactory/reflect3d:1.0
00431     //
00432     virtual HxCorba::Matrix_ptr reflect3d(CORBA::Boolean doX,
00433                                           CORBA::Boolean doY,
00434                                           CORBA::Boolean doZ) = 0;
00435 
00436     //
00437     // IDL:HxCorba/MatrixFactory/projection:1.0
00438     //
00439     virtual HxCorba::Matrix_ptr projection(CORBA::Double f) = 0;
00440 
00441     //
00442     // IDL:HxCorba/MatrixFactory/camera:1.0
00443     //
00444     virtual HxCorba::Matrix_ptr camera(CORBA::Double f) = 0;
00445 
00446     //
00447     // IDL:HxCorba/MatrixFactory/lift2dTo3dXY:1.0
00448     //
00449     virtual HxCorba::Matrix_ptr lift2dTo3dXY() = 0;
00450 };
00451 
00452 } // End of namespace OBStubImpl_HxCorba
00453 
00454 //
00455 // IDL:HxCorba:1.0
00456 //
00457 namespace OBMarshalStubImpl_HxCorba
00458 {
00459 
00460 //
00461 // IDL:HxCorba/Matrix:1.0
00462 //
00463 class Matrix : virtual public OBStubImpl_HxCorba::Matrix,
00464                virtual public OB::MarshalStubImpl
00465 {
00466     Matrix(const Matrix&);
00467     void operator=(const Matrix&);
00468 
00469 protected:
00470 
00471     Matrix() { }
00472     friend class HxCorba::Matrix;
00473 
00474 public:
00475 };
00476 
00477 //
00478 // IDL:HxCorba/MatrixFactory:1.0
00479 //
00480 class MatrixFactory : virtual public OBStubImpl_HxCorba::MatrixFactory,
00481                       virtual public OB::MarshalStubImpl
00482 {
00483     MatrixFactory(const MatrixFactory&);
00484     void operator=(const MatrixFactory&);
00485 
00486 protected:
00487 
00488     MatrixFactory() { }
00489     friend class HxCorba::MatrixFactory;
00490 
00491 public:
00492 
00493     //
00494     // IDL:HxCorba/MatrixFactory/translate2d:1.0
00495     //
00496     virtual HxCorba::Matrix_ptr translate2d(CORBA::Double x,
00497                                             CORBA::Double y);
00498 
00499     //
00500     // IDL:HxCorba/MatrixFactory/scale2d:1.0
00501     //
00502     virtual HxCorba::Matrix_ptr scale2d(CORBA::Double sx,
00503                                         CORBA::Double sy);
00504 
00505     //
00506     // IDL:HxCorba/MatrixFactory/rotate2d:1.0
00507     //
00508     virtual HxCorba::Matrix_ptr rotate2d(CORBA::Double alpha);
00509 
00510     //
00511     // IDL:HxCorba/MatrixFactory/rotate2dDeg:1.0
00512     //
00513     virtual HxCorba::Matrix_ptr rotate2dDeg(CORBA::Double alpha);
00514 
00515     //
00516     // IDL:HxCorba/MatrixFactory/reflect2d:1.0
00517     //
00518     virtual HxCorba::Matrix_ptr reflect2d(CORBA::Boolean doX,
00519                                           CORBA::Boolean doY);
00520 
00521     //
00522     // IDL:HxCorba/MatrixFactory/shear2d:1.0
00523     //
00524     virtual HxCorba::Matrix_ptr shear2d(CORBA::Double sx,
00525                                         CORBA::Double sy);
00526 
00527     //
00528     // IDL:HxCorba/MatrixFactory/translate3d:1.0
00529     //
00530     virtual HxCorba::Matrix_ptr translate3d(CORBA::Double x,
00531                                             CORBA::Double y,
00532                                             CORBA::Double z);
00533 
00534     //
00535     // IDL:HxCorba/MatrixFactory/scale3d:1.0
00536     //
00537     virtual HxCorba::Matrix_ptr scale3d(CORBA::Double sx,
00538                                         CORBA::Double sy,
00539                                         CORBA::Double sz);
00540 
00541     //
00542     // IDL:HxCorba/MatrixFactory/rotateX3d:1.0
00543     //
00544     virtual HxCorba::Matrix_ptr rotateX3d(CORBA::Double alpha);
00545 
00546     //
00547     // IDL:HxCorba/MatrixFactory/rotateX3dDeg:1.0
00548     //
00549     virtual HxCorba::Matrix_ptr rotateX3dDeg(CORBA::Double alpha);
00550 
00551     //
00552     // IDL:HxCorba/MatrixFactory/rotateY3d:1.0
00553     //
00554     virtual HxCorba::Matrix_ptr rotateY3d(CORBA::Double alpha);
00555 
00556     //
00557     // IDL:HxCorba/MatrixFactory/rotateY3dDeg:1.0
00558     //
00559     virtual HxCorba::Matrix_ptr rotateY3dDeg(CORBA::Double alpha);
00560 
00561     //
00562     // IDL:HxCorba/MatrixFactory/rotateZ3d:1.0
00563     //
00564     virtual HxCorba::Matrix_ptr rotateZ3d(CORBA::Double alpha);
00565 
00566     //
00567     // IDL:HxCorba/MatrixFactory/rotateZ3dDeg:1.0
00568     //
00569     virtual HxCorba::Matrix_ptr rotateZ3dDeg(CORBA::Double alpha);
00570 
00571     //
00572     // IDL:HxCorba/MatrixFactory/reflect3d:1.0
00573     //
00574     virtual HxCorba::Matrix_ptr reflect3d(CORBA::Boolean doX,
00575                                           CORBA::Boolean doY,
00576                                           CORBA::Boolean doZ);
00577 
00578     //
00579     // IDL:HxCorba/MatrixFactory/projection:1.0
00580     //
00581     virtual HxCorba::Matrix_ptr projection(CORBA::Double f);
00582 
00583     //
00584     // IDL:HxCorba/MatrixFactory/camera:1.0
00585     //
00586     virtual HxCorba::Matrix_ptr camera(CORBA::Double f);
00587 
00588     //
00589     // IDL:HxCorba/MatrixFactory/lift2dTo3dXY:1.0
00590     //
00591     virtual HxCorba::Matrix_ptr lift2dTo3dXY();
00592 };
00593 
00594 } // End of namespace OBMarshalStubImpl_HxCorba
00595 
00596 //
00597 // IDL:HxCorba:1.0
00598 //
00599 namespace OBV_HxCorba
00600 {
00601 
00602 } // End of namespace OBV_HxCorba
00603 
00604 //
00605 // IDL:HxCorba/Matrix:1.0
00606 //
00607 namespace CORBA
00608 {
00609 
00610 inline void
00611 release(HxCorba::Matrix_ptr p)
00612 {
00613     if(p)
00614         p -> _OB_decRef();
00615 }
00616 
00617 inline Boolean
00618 is_nil(HxCorba::Matrix_ptr p)
00619 {
00620     return p == 0;
00621 }
00622 
00623 inline void
00624 release(OBStubImpl_HxCorba::Matrix_ptr p)
00625 {
00626     if(p)
00627         p -> _OB_decRef();
00628 }
00629 
00630 inline Boolean
00631 is_nil(OBStubImpl_HxCorba::Matrix_ptr p)
00632 {
00633     return p == 0;
00634 }
00635 
00636 } // End of namespace CORBA
00637 
00638 void operator<<=(CORBA::Any&, HxCorba::Matrix_ptr*);
00639 void operator<<=(CORBA::Any&, HxCorba::Matrix_ptr);
00640 CORBA::Boolean operator>>=(const CORBA::Any&, HxCorba::Matrix_ptr&);
00641 
00642 inline void
00643 operator<<=(CORBA::Any_var& any, HxCorba::Matrix_ptr* val)
00644 {
00645     any.inout() <<= val;
00646 }
00647 
00648 inline void
00649 operator<<=(CORBA::Any_var& any, HxCorba::Matrix_ptr val)
00650 {
00651     any.inout() <<= val;
00652 }
00653 
00654 inline CORBA::Boolean
00655 operator>>=(const CORBA::Any_var& any, HxCorba::Matrix_ptr& val)
00656 {
00657     return any.in() >>= val;
00658 }
00659 
00660 //
00661 // IDL:HxCorba/MatrixFactory:1.0
00662 //
00663 namespace CORBA
00664 {
00665 
00666 inline void
00667 release(HxCorba::MatrixFactory_ptr p)
00668 {
00669     if(p)
00670         p -> _OB_decRef();
00671 }
00672 
00673 inline Boolean
00674 is_nil(HxCorba::MatrixFactory_ptr p)
00675 {
00676     return p == 0;
00677 }
00678 
00679 inline void
00680 release(OBStubImpl_HxCorba::MatrixFactory_ptr p)
00681 {
00682     if(p)
00683         p -> _OB_decRef();
00684 }
00685 
00686 inline Boolean
00687 is_nil(OBStubImpl_HxCorba::MatrixFactory_ptr p)
00688 {
00689     return p == 0;
00690 }
00691 
00692 } // End of namespace CORBA
00693 
00694 void operator<<=(CORBA::Any&, HxCorba::MatrixFactory_ptr*);
00695 void operator<<=(CORBA::Any&, HxCorba::MatrixFactory_ptr);
00696 CORBA::Boolean operator>>=(const CORBA::Any&, HxCorba::MatrixFactory_ptr&);
00697 
00698 inline void
00699 operator<<=(CORBA::Any_var& any, HxCorba::MatrixFactory_ptr* val)
00700 {
00701     any.inout() <<= val;
00702 }
00703 
00704 inline void
00705 operator<<=(CORBA::Any_var& any, HxCorba::MatrixFactory_ptr val)
00706 {
00707     any.inout() <<= val;
00708 }
00709 
00710 inline CORBA::Boolean
00711 operator>>=(const CORBA::Any_var& any, HxCorba::MatrixFactory_ptr& val)
00712 {
00713     return any.in() >>= val;
00714 }
00715 
00716 #endif

Generated on Tue Jan 8 13:56:56 2002 for C++Binding by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001