BsMeshImportOptionsRTTI.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsMeshImportOptions.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_CORE_EXPORT MeshImportOptionsRTTI : public RTTIType < MeshImportOptions, ImportOptions, MeshImportOptionsRTTI >
  8. {
  9. private:
  10. bool& getCPUReadable(MeshImportOptions* obj) { return obj->mCPUReadable; }
  11. void setCPUReadable(MeshImportOptions* obj, bool& value) { obj->mCPUReadable = value; }
  12. bool& getImportNormals(MeshImportOptions* obj) { return obj->mImportNormals; }
  13. void setImportNormals(MeshImportOptions* obj, bool& value) { obj->mImportNormals = value; }
  14. bool& getImportTangents(MeshImportOptions* obj) { return obj->mImportTangents; }
  15. void setImportTangents(MeshImportOptions* obj, bool& value) { obj->mImportTangents = value; }
  16. bool& getImportBlendShapes(MeshImportOptions* obj) { return obj->mImportBlendShapes; }
  17. void setImportBlendShapes(MeshImportOptions* obj, bool& value) { obj->mImportBlendShapes = value; }
  18. bool& getImportSkin(MeshImportOptions* obj) { return obj->mImportSkin; }
  19. void setImportSkin(MeshImportOptions* obj, bool& value) { obj->mImportSkin = value; }
  20. bool& getImportAnimation(MeshImportOptions* obj) { return obj->mImportAnimation; }
  21. void setImportAnimation(MeshImportOptions* obj, bool& value) { obj->mImportAnimation = value; }
  22. float& getImportScale(MeshImportOptions* obj) { return obj->mImportScale; }
  23. void setImportScale(MeshImportOptions* obj, float& value) { obj->mImportScale = value; }
  24. public:
  25. MeshImportOptionsRTTI()
  26. {
  27. addPlainField("mCPUReadable", 0, &MeshImportOptionsRTTI::getCPUReadable, &MeshImportOptionsRTTI::setCPUReadable);
  28. addPlainField("mImportNormals", 1, &MeshImportOptionsRTTI::getImportNormals, &MeshImportOptionsRTTI::setImportNormals);
  29. addPlainField("mImportTangents", 2, &MeshImportOptionsRTTI::getImportTangents, &MeshImportOptionsRTTI::setImportTangents);
  30. addPlainField("mImportBlendShapes", 3, &MeshImportOptionsRTTI::getImportBlendShapes, &MeshImportOptionsRTTI::setImportBlendShapes);
  31. addPlainField("mImportSkin", 4, &MeshImportOptionsRTTI::getImportSkin, &MeshImportOptionsRTTI::setImportSkin);
  32. addPlainField("mImportAnimation", 5, &MeshImportOptionsRTTI::getImportAnimation, &MeshImportOptionsRTTI::setImportAnimation);
  33. addPlainField("mImportScale", 6, &MeshImportOptionsRTTI::getImportScale, &MeshImportOptionsRTTI::setImportScale);
  34. }
  35. virtual const String& getRTTIName() override
  36. {
  37. static String name = "MeshImportOptions";
  38. return name;
  39. }
  40. virtual UINT32 getRTTIId() override
  41. {
  42. return TID_MeshImportOptions;
  43. }
  44. virtual std::shared_ptr<IReflectable> newRTTIObject() override
  45. {
  46. return bs_shared_ptr_new<MeshImportOptions>();
  47. }
  48. };
  49. }