BsMeshImportOptionsRTTI.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsCorePrerequisites.h"
  5. #include "BsRTTIType.h"
  6. #include "BsMeshImportOptions.h"
  7. #include "BsAnimationClipRTTI.h"
  8. namespace BansheeEngine
  9. {
  10. /** @cond RTTI */
  11. /** @addtogroup RTTI-Impl-Core
  12. * @{
  13. */
  14. class BS_CORE_EXPORT MeshImportOptionsRTTI : public RTTIType <MeshImportOptions, ImportOptions, MeshImportOptionsRTTI>
  15. {
  16. private:
  17. BS_BEGIN_RTTI_MEMBERS
  18. BS_RTTI_MEMBER_PLAIN(mCPUReadable, 0)
  19. BS_RTTI_MEMBER_PLAIN(mImportNormals, 1)
  20. BS_RTTI_MEMBER_PLAIN(mImportTangents, 2)
  21. BS_RTTI_MEMBER_PLAIN(mImportBlendShapes, 3)
  22. BS_RTTI_MEMBER_PLAIN(mImportSkin, 4)
  23. BS_RTTI_MEMBER_PLAIN(mImportAnimation, 5)
  24. BS_RTTI_MEMBER_PLAIN(mImportScale, 6)
  25. BS_RTTI_MEMBER_PLAIN(mCollisionMeshType, 7)
  26. BS_RTTI_MEMBER_REFL_ARRAY(mAnimationSplits, 8)
  27. BS_RTTI_MEMBER_PLAIN(mReduceKeyFrames, 9)
  28. BS_RTTI_MEMBER_REFL_ARRAY(mAnimationEvents, 10)
  29. BS_END_RTTI_MEMBERS
  30. public:
  31. MeshImportOptionsRTTI()
  32. :mInitMembers(this)
  33. { }
  34. const String& getRTTIName() override
  35. {
  36. static String name = "MeshImportOptions";
  37. return name;
  38. }
  39. UINT32 getRTTIId() override
  40. {
  41. return TID_MeshImportOptions;
  42. }
  43. SPtr<IReflectable> newRTTIObject() override
  44. {
  45. return bs_shared_ptr_new<MeshImportOptions>();
  46. }
  47. };
  48. class BS_CORE_EXPORT ImportedAnimationEventsRTTI : public RTTIType <ImportedAnimationEvents, IReflectable, ImportedAnimationEventsRTTI>
  49. {
  50. private:
  51. BS_BEGIN_RTTI_MEMBERS
  52. BS_RTTI_MEMBER_PLAIN(name, 0)
  53. BS_RTTI_MEMBER_PLAIN(events, 1)
  54. BS_END_RTTI_MEMBERS
  55. public:
  56. ImportedAnimationEventsRTTI()
  57. :mInitMembers(this)
  58. { }
  59. const String& getRTTIName() override
  60. {
  61. static String name = "ImportedAnimationEvents";
  62. return name;
  63. }
  64. UINT32 getRTTIId() override
  65. {
  66. return TID_ImportedAnimationEvents;
  67. }
  68. SPtr<IReflectable> newRTTIObject() override
  69. {
  70. return bs_shared_ptr_new<ImportedAnimationEvents>();
  71. }
  72. };
  73. class BS_CORE_EXPORT AnimationSplitInfoRTTI : public RTTIType <AnimationSplitInfo, IReflectable, AnimationSplitInfoRTTI>
  74. {
  75. private:
  76. BS_BEGIN_RTTI_MEMBERS
  77. BS_RTTI_MEMBER_PLAIN(name, 0)
  78. BS_RTTI_MEMBER_PLAIN(startFrame, 1)
  79. BS_RTTI_MEMBER_PLAIN(endFrame, 2)
  80. BS_RTTI_MEMBER_PLAIN(isAdditive, 3)
  81. BS_END_RTTI_MEMBERS
  82. public:
  83. AnimationSplitInfoRTTI()
  84. :mInitMembers(this)
  85. { }
  86. const String& getRTTIName() override
  87. {
  88. static String name = "AnimationSplitInfo";
  89. return name;
  90. }
  91. UINT32 getRTTIId() override
  92. {
  93. return TID_AnimationSplitInfo;
  94. }
  95. SPtr<IReflectable> newRTTIObject() override
  96. {
  97. return bs_shared_ptr_new<AnimationSplitInfo>();
  98. }
  99. };
  100. /** @} */
  101. /** @endcond */
  102. }