hkBuiltinTypeRegistry.h
上传用户:yisoukefu
上传日期:2020-08-09
资源大小:39506k
文件大小:3k
源码类别:

其他游戏

开发平台:

Visual C++

  1. /* 
  2.  * 
  3.  * Confidential Information of Telekinesys Research Limited (t/a Havok). Not for disclosure or distribution without Havok's
  4.  * prior written consent. This software contains code, techniques and know-how which is confidential and proprietary to Havok.
  5.  * Level 2 and Level 3 source code contains trade secrets of Havok. Havok Software (C) Copyright 1999-2009 Telekinesys Research Limited t/a Havok. All Rights Reserved. Use of this software is subject to the terms of an end user license agreement.
  6.  * 
  7.  */
  8. #ifndef HK_SERIALIZE_BUILTINTYPEREGISTRY_H
  9. #define HK_SERIALIZE_BUILTINTYPEREGISTRY_H
  10. class hkClass;
  11. class hkTypeInfo;
  12. class hkClassNameRegistry;
  13. class hkVtableClassRegistry;
  14. class hkTypeInfoRegistry;
  15. /// Registry of all compiled in types.
  16. /// All typeinfos and classes in the StaticLinkedTypeInfos and
  17. /// StaticLinkedClasses lists are added to the registry when 
  18. /// this singleton is created.
  19. class hkBuiltinTypeRegistry : public hkReferencedObject, public hkSingleton<hkBuiltinTypeRegistry>
  20. {
  21. public:
  22. /// Access the hkTypeInfoRegistry.
  23. virtual hkTypeInfoRegistry* getLoadedObjectRegistry() = 0;
  24. /// Access the hkClassNameRegistry.
  25. virtual hkClassNameRegistry* getClassNameRegistry() = 0;
  26. /// Access the hkClassNameRegistry.
  27. virtual hkVtableClassRegistry* getVtableClassRegistry() = 0;
  28. /// Shortcut for adding to each of the registries.
  29. virtual void addType( const hkTypeInfo* info, const hkClass* klass );
  30. public:
  31. /// List of typeinfos which are added to the default registry - SEE DETAILS BELOW.
  32. /// NB Link errors (e.g. LNK2001 under .NET) for this array probably mean you 
  33. /// have not yet registered the typeinfos via eg Common/Serialize/Util/hkBuiltinTypeRegistry.cxx using the HK_CLASSES_FILE macro -
  34. /// See the "Type Registration" section of the docs in the Serialization Chapter (or the demo/demos/*Classes.cpp files for examples, e.g. demo/demos/PhysicsClasses.cpp for Physics-Only customers).
  35. static const hkTypeInfo* const StaticLinkedTypeInfos[];
  36. /// List of classes which are added to the default registry - SEE DETAILS BELOW.
  37. /// NB Link errors  (e.g. LNK2001 under .NET) for this array probably mean you 
  38. /// have not yet registered the classlists via eg Common/Serialize/Util/hkBuiltinTypeRegistry.cxx using the HK_CLASSES_FILE macro -
  39. /// See the "Type Registration" section of the docs in the Serialization Chapter (or the demo/demos/*Classes.cpp files for examples, e.g. demo/demos/PhysicsClasses.cpp for Physics-Only customers).
  40. static const hkClass* const StaticLinkedClasses[];
  41. };
  42. #endif // HK_SERIALIZE_BUILTINTYPEREGISTRY_H
  43. /*
  44. * Havok SDK - NO SOURCE PC DOWNLOAD, BUILD(#20090216)
  45. * Confidential Information of Havok.  (C) Copyright 1999-2009
  46. * Telekinesys Research Limited t/a Havok. All Rights Reserved. The Havok
  47. * Logo, and the Havok buzzsaw logo are trademarks of Havok.  Title, ownership
  48. * rights, and intellectual property rights in the Havok software remain in
  49. * Havok and/or its suppliers.
  50. * Use of this software for evaluation purposes is subject to and indicates
  51. * acceptance of the End User licence Agreement for this product. A copy of
  52. * the license is included with this software and is also available at www.havok.com/tryhavok.
  53. */