BsMeshImportOptionsRTTI.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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_RTTI_MEMBER_PLAIN(mImportRootMotion, 11)
  30. BS_END_RTTI_MEMBERS
  31. public:
  32. MeshImportOptionsRTTI()
  33. :mInitMembers(this)
  34. { }
  35. const String& getRTTIName() override
  36. {
  37. static String name = "MeshImportOptions";
  38. return name;
  39. }
  40. UINT32 getRTTIId() override
  41. {
  42. return TID_MeshImportOptions;
  43. }
  44. SPtr<IReflectable> newRTTIObject() override
  45. {
  46. return bs_shared_ptr_new<MeshImportOptions>();
  47. }
  48. };
  49. class BS_CORE_EXPORT ImportedAnimationEventsRTTI : public RTTIType <ImportedAnimationEvents, IReflectable, ImportedAnimationEventsRTTI>
  50. {
  51. private:
  52. BS_BEGIN_RTTI_MEMBERS
  53. BS_RTTI_MEMBER_PLAIN(name, 0)
  54. BS_RTTI_MEMBER_PLAIN(events, 1)
  55. BS_END_RTTI_MEMBERS
  56. public:
  57. ImportedAnimationEventsRTTI()
  58. :mInitMembers(this)
  59. { }
  60. const String& getRTTIName() override
  61. {
  62. static String name = "ImportedAnimationEvents";
  63. return name;
  64. }
  65. UINT32 getRTTIId() override
  66. {
  67. return TID_ImportedAnimationEvents;
  68. }
  69. SPtr<IReflectable> newRTTIObject() override
  70. {
  71. return bs_shared_ptr_new<ImportedAnimationEvents>();
  72. }
  73. };
  74. class BS_CORE_EXPORT AnimationSplitInfoRTTI : public RTTIType <AnimationSplitInfo, IReflectable, AnimationSplitInfoRTTI>
  75. {
  76. private:
  77. BS_BEGIN_RTTI_MEMBERS
  78. BS_RTTI_MEMBER_PLAIN(name, 0)
  79. BS_RTTI_MEMBER_PLAIN(startFrame, 1)
  80. BS_RTTI_MEMBER_PLAIN(endFrame, 2)
  81. BS_RTTI_MEMBER_PLAIN(isAdditive, 3)
  82. BS_END_RTTI_MEMBERS
  83. public:
  84. AnimationSplitInfoRTTI()
  85. :mInitMembers(this)
  86. { }
  87. const String& getRTTIName() override
  88. {
  89. static String name = "AnimationSplitInfo";
  90. return name;
  91. }
  92. UINT32 getRTTIId() override
  93. {
  94. return TID_AnimationSplitInfo;
  95. }
  96. SPtr<IReflectable> newRTTIObject() override
  97. {
  98. return bs_shared_ptr_new<AnimationSplitInfo>();
  99. }
  100. };
  101. /** @} */
  102. /** @endcond */
  103. }