Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# deAnimatedMesh.hpp

Go to the documentation of this file.

    00001 ///////////////////////////////////////////////////////////////////////////////
    00002 /// @file deAnimatedMesh.hpp
    00003 ///
    00004 /// @brief header for animated mesh loading code
    00005 ///
    00006 /// @author Assassin
    00007 ///
    00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
    00009 /// contents of this file is subject to the Destiny3D Member License which
    00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
    00011 ///
    00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
    00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
    00014 /// for any particular purpose.
    00015 ///
    00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
    00017 ///
    00018 /// <hr>
    00019 ///                                 Change History
    00020 /// <hr>
    00021 ///
    00022 /// @date June 2002
    00023 /// @author Assassin
    00024 /// @remarks Creation
    00025 ///
    00026 ///////////////////////////////////////////////////////////////////////////////
    00027
    00028 //Destiny 3D Actor Class
    00029 //A simple MD2 loader to start.  Maybe we could build off this later.
    00030 #ifndef DEANIMATEDMESH_H
    00031 #define DEANIMATEDMESH_H
    00032
    00033 #include "deGlobalTypes.hpp"
    00034 #include "deMath.hpp"
    00035 #include "deResource.hpp"
    00036
    00037 #if defined(DEANIMATEDMESH_DLL_EXPORTS) || defined(DESTINY3D_EXPORT_ALL)
    00038 #   define ACTOR_API extern "C" DEDLL_EXPORT
    00039 #elif defined(DESTINY3D_STATIC_LINK)
    00040 #   define ACTOR_API extern "C"
    00041 #else
    00042 #   define ACTOR_API extern "C" DEDLL_IMPORT
    00043 #endif
    00044
    00045 #ifdef USING_DESTINY3D
    00046 #ifdef _DEBUG
    00047 #   ifdef DESTINY3D_STATIC_LINK
    00048 #       pragma comment(lib, "deAnimatedMesh_sd")
    00049 #   else
    00050 #       pragma comment(lib, "deAnimatedMeshd")
    00051 #   endif //DESTINY3D_STATIC_LINK
    00052 #else
    00053 #   ifdef DESTINY3D_STATIC_LINK
    00054 #       pragma comment(lib, "deAnimatedMesh_s")
    00055 #   else
    00056 #       pragma comment(lib, "deAnimatedMesh")
    00057 #   endif //DESTINY3D_STATIC_LINK
    00058 #endif //_DEBUG
    00059 #endif //USING_DESTINY3D
    00060
    00061 class IdeAnimatedMesh;
    00062 class IdeBitmapProxy;
    00063 class IdeRenderTexture;
    00064 class IdeVertexBuffer;
    00065 class IdeDriver;
    00066
    00067     ACTOR_API void      IdeAnimatedMesh_Initialize();
    00068     ACTOR_API long      IdeAnimatedMesh_GetRscInterfaceID();
    00069
    00070 //class IdeAnimatedMesh : virtual public IdeResourceBase
    00071 DE3D_INTERFACE(IdeAnimatedMesh, IdeResourceBase)
    00072 {
    00073 protected:
    00074     virtual ~IdeAnimatedMesh() {}
    00075 public:
    00076     virtual IdeVertexBuffer*    GetVBuffer() = 0;
    00077     virtual IdeVertexBuffer*    GetVBuffer(float Time) = 0;
    00078     virtual IdeRenderTexture*   GetTexture(IdeDriver * pDriver) = 0;
    00079
    00080     virtual int                 GetNumFrames() = 0;
    00081     virtual int                 GetNumVerts() = 0;
    00082     virtual int                 GetNumTriangles() = 0;
    00083     virtual int                 GetNumSkins() = 0;
    00084     virtual int                 GetFrameSize() = 0;
    00085     virtual int                 GetNumTexCoords() = 0;
    00086
    00087     virtual int                 GetCurrentFrame() = 0;
    00088     virtual int                 GetNextFrame() = 0;
    00089     virtual float               GetInterpolation() = 0;
    00090
    00091     virtual char                *GetSkinName(int index) = 0;
    00092
    00093     virtual void                SetAnimSpeed(float FramesPerSec) = 0;
    00094     virtual deBoolean           SetCurrentAnim(const char* AnimName) = 0;
    00095     virtual deBoolean           SetCurrentAnim(int AnimNum) = 0;
    00096     virtual float               GetAnimSpeed() = 0;
    00097     virtual int                 GetCurrentAnim() = 0;
    00098
    00099     virtual void                SetCurrentFrame(int frame) = 0;
    00100     virtual void                SetNextFrame(int frame) = 0;
    00101
    00102     virtual void                SetTexture(const char *filename) = 0;
    00103     virtual void                SetTexture(IdeBitmapProxy *tex) = 0;
    00104 };
    00105
    00106
    00107
    00108 #endif // DEANIMATEDMESH_H