#ifndef __GRP_GRANDPA_H__ #define __GRP_GRANDPA_H__ #include "Define.h" #include "math.h" #include "Vector.h" #include "Line.h" #include "AaBox.h" #include "Quaternion.h" #include "Matrix.h" #include "IResourceManager.h" #include "IFileLoader.h" #include "IAllocator.h" #include "ILogger.h" #include "IResource.h" #include "IModel.h" #include "IEventHandler.h" #include "IPart.h" #include "IAnimation.h" #include "ISkeleton.h" #include "IMesh.h" #include "ISkin.h" #include "IMaterial.h" #include "IProperty.h" #include "ISpline.h" class PerfManager; namespace grp { GRANDPA_API bool initialize(ILogger* logger = NULL, IFileLoader* fileLoader = NULL, IAllocator* allocator = NULL, IResourceManager* resourceManager = NULL); GRANDPA_API void destroy(); GRANDPA_API IResource* grabResource(const Char* url, ResourceType type, void* param = NULL); GRANDPA_API void dropResource(IResource* resource); GRANDPA_API IResource* createResource(const Char* url, ResourceType type, void* param = NULL); GRANDPA_API void destroyResource(IResource* resource); GRANDPA_API IModel* createModel(IResource* resource, IEventHandler* eventHandler = NULL); GRANDPA_API IModel* createModel(const Char* url, void* param = NULL, IEventHandler* eventHandler = NULL); GRANDPA_API void destroyModel(IModel* entity); GRANDPA_API IMesh* createMesh(IResource* resource); GRANDPA_API IMesh* createMesh(const Char* url, void* param = NULL); GRANDPA_API void destroyMesh(IMesh* mesh); //support spline of float, Vector2, Vector3, Vector4, Quaternino, Euler template GRANDPA_API ISpline* createSpline(); template GRANDPA_API void destroySpline(ISpline* spline); GRANDPA_API void setProfiler(PerfManager* perfManager); } #endif