photo.h

00001 
00002 // protect multiple inclusion
00003 #ifndef _PHOTO_H_INCLUDED_
00004 #define _PHOTO_H_INCLUDED_
00005 
00006 #include "error.h"
00007 
00008 
00009 // forward declaration to prevent #include here
00010 class NxActor;
00011 class irr::scene::IAnimatedMeshSceneNode;
00012 class irr::video::ITexture;
00013 class VideoTexture;
00014 class irr::scene::IParticleSystemSceneNode;
00015 class irr::scene::IParticleEmitter;
00016 class irr::scene::IParticleAffector;
00017 
00018 
00019 class Photo
00020 {
00021 public:
00022         Photo();
00023         ~Photo();
00024 
00025         ERR_TYPE load( irr::core::stringc meshFileName, irr::core::stringc textureFileName, vector3df scale );
00026         ERR_TYPE update( irr::u32 timeMS );
00027         ERR_TYPE zoomStart( NxVec3 destinationPos, NxU32 timeForWayMS );
00028         ERR_TYPE zoomEnd();
00029         ERR_TYPE particelStart( irr::core::stringc particelFileName );
00030         ERR_TYPE particelEnd();
00031 
00032         ERR_TYPE applyForce( NxVec3 forceVector );
00033         ERR_TYPE setPosition( NxVec3 newPosition );
00034         ERR_TYPE getPosition( NxVec3* outPosition );
00035 
00036 private:
00037         ERR_TYPE createNxActor( vector3df size );
00038         ERR_TYPE createTextureWithBoarder( irr::core::stringc imageFileName );
00039 
00040         NxActor*                                                                nxActor;
00041         irr::scene::IAnimatedMeshSceneNode*             node;
00042         irr::video::ITexture*                                   texture;
00043         VideoTexture*                                                   videoTexture;
00044         irr::scene::IParticleSystemSceneNode*   particelNode;
00045         irr::scene::IParticleEmitter*                   particelEmitter;
00046         irr::scene::IParticleAffector*                  particelAffector;
00047         NxVec3                                                                  zoomStartPosition;
00048         NxVec3                                                                  zoomDirection;
00049         NxU32                                                                   zoomTimeForWay;
00050         NxU32                                                                   zoomTimeStart;
00051         NxF32                                                                   zoomTimeStep;
00052 
00053         enum PHOTO_ZOOM_STATE
00054         {
00055                 PZS_ZOOMING_TO_CAMERA = 0,
00056                 PZS_ZOOMING_TO_TABLE,
00057                 PZS_ZOOMING_FINISHED,
00058         };
00059 
00060         PHOTO_ZOOM_STATE                                                zoomState;
00061 };
00062 
00063 
00064 #endif // #ifndef _PHOTO_H_INCLUDED_

Generated on Sun Dec 2 03:10:23 2007 for TableTop by  doxygen 1.5.4