BsMeshImportOptionsRTTI.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. public:
  23. MeshImportOptionsRTTI()
  24. {
  25. addPlainField("mCPUReadable", 0, &MeshImportOptionsRTTI::getCPUReadable, &MeshImportOptionsRTTI::setCPUReadable);
  26. addPlainField("mImportNormals", 1, &MeshImportOptionsRTTI::getImportNormals, &MeshImportOptionsRTTI::setImportNormals);
  27. addPlainField("mImportTangents", 2, &MeshImportOptionsRTTI::getImportTangents, &MeshImportOptionsRTTI::setImportTangents);
  28. addPlainField("mImportBlendShapes", 3, &MeshImportOptionsRTTI::getImportBlendShapes, &MeshImportOptionsRTTI::setImportBlendShapes);
  29. addPlainField("mImportSkin", 4, &MeshImportOptionsRTTI::getImportSkin, &MeshImportOptionsRTTI::setImportSkin);
  30. addPlainField("mImportAnimation", 5, &MeshImportOptionsRTTI::getImportAnimation, &MeshImportOptionsRTTI::setImportAnimation);
  31. }
  32. virtual const String& getRTTIName()
  33. {
  34. static String name = "MeshImportOptions";
  35. return name;
  36. }
  37. virtual UINT32 getRTTIId()
  38. {
  39. return TID_MeshImportOptions;
  40. }
  41. virtual std::shared_ptr<IReflectable> newRTTIObject()
  42. {
  43. return bs_shared_ptr<MeshImportOptions, PoolAlloc>();
  44. }
  45. };
  46. }