BsMeshImportOptionsRTTI.h 2.9 KB

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