BsMeshImportOptionsRTTI.h 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. namespace BansheeEngine
  8. {
  9. /** @cond RTTI */
  10. /** @addtogroup RTTI-Impl-Core
  11. * @{
  12. */
  13. class BS_CORE_EXPORT MeshImportOptionsRTTI : public RTTIType < MeshImportOptions, ImportOptions, MeshImportOptionsRTTI >
  14. {
  15. private:
  16. bool& getCPUReadable(MeshImportOptions* obj) { return obj->mCPUReadable; }
  17. void setCPUReadable(MeshImportOptions* obj, bool& value) { obj->mCPUReadable = value; }
  18. bool& getImportNormals(MeshImportOptions* obj) { return obj->mImportNormals; }
  19. void setImportNormals(MeshImportOptions* obj, bool& value) { obj->mImportNormals = value; }
  20. bool& getImportTangents(MeshImportOptions* obj) { return obj->mImportTangents; }
  21. void setImportTangents(MeshImportOptions* obj, bool& value) { obj->mImportTangents = value; }
  22. bool& getImportBlendShapes(MeshImportOptions* obj) { return obj->mImportBlendShapes; }
  23. void setImportBlendShapes(MeshImportOptions* obj, bool& value) { obj->mImportBlendShapes = value; }
  24. bool& getImportSkin(MeshImportOptions* obj) { return obj->mImportSkin; }
  25. void setImportSkin(MeshImportOptions* obj, bool& value) { obj->mImportSkin = value; }
  26. bool& getImportAnimation(MeshImportOptions* obj) { return obj->mImportAnimation; }
  27. void setImportAnimation(MeshImportOptions* obj, bool& value) { obj->mImportAnimation = value; }
  28. float& getImportScale(MeshImportOptions* obj) { return obj->mImportScale; }
  29. void setImportScale(MeshImportOptions* obj, float& value) { obj->mImportScale = value; }
  30. public:
  31. MeshImportOptionsRTTI()
  32. {
  33. addPlainField("mCPUReadable", 0, &MeshImportOptionsRTTI::getCPUReadable, &MeshImportOptionsRTTI::setCPUReadable);
  34. addPlainField("mImportNormals", 1, &MeshImportOptionsRTTI::getImportNormals, &MeshImportOptionsRTTI::setImportNormals);
  35. addPlainField("mImportTangents", 2, &MeshImportOptionsRTTI::getImportTangents, &MeshImportOptionsRTTI::setImportTangents);
  36. addPlainField("mImportBlendShapes", 3, &MeshImportOptionsRTTI::getImportBlendShapes, &MeshImportOptionsRTTI::setImportBlendShapes);
  37. addPlainField("mImportSkin", 4, &MeshImportOptionsRTTI::getImportSkin, &MeshImportOptionsRTTI::setImportSkin);
  38. addPlainField("mImportAnimation", 5, &MeshImportOptionsRTTI::getImportAnimation, &MeshImportOptionsRTTI::setImportAnimation);
  39. addPlainField("mImportScale", 6, &MeshImportOptionsRTTI::getImportScale, &MeshImportOptionsRTTI::setImportScale);
  40. }
  41. const String& getRTTIName() override
  42. {
  43. static String name = "MeshImportOptions";
  44. return name;
  45. }
  46. UINT32 getRTTIId() override
  47. {
  48. return TID_MeshImportOptions;
  49. }
  50. std::shared_ptr<IReflectable> newRTTIObject() override
  51. {
  52. return bs_shared_ptr_new<MeshImportOptions>();
  53. }
  54. };
  55. /** @} */
  56. /** @endcond */
  57. }