@ElmPhys.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. class ElmPhys : ElmData
  4. {
  5. UID mesh_id, mtrl_id;
  6. flt density;
  7. Pose transform;
  8. Box box; // this should not be synced (it is set according to phys data), set as invalid when phys is empty
  9. TimeStamp file_time, mtrl_time, density_time;
  10. // get
  11. bool hasBody()C;
  12. bool equal(C ElmPhys &src)C;
  13. bool newer(C ElmPhys &src)C;
  14. virtual bool mayContain (C UID &id)C override;
  15. virtual void clearLinked( ) override;
  16. // operations
  17. virtual void newData()override;
  18. uint undo(C ElmPhys &src);
  19. uint sync(C ElmPhys &src);
  20. bool syncFile(C ElmPhys &src);
  21. void from(C PhysBody &game_phys); // game version of phys must be passed here
  22. // io
  23. virtual bool save(File &f)C override;
  24. virtual bool load(File &f)override;
  25. virtual void save(MemPtr<TextNode> nodes)C override;
  26. virtual void load(C MemPtr<TextNode> &nodes)override;
  27. public:
  28. ElmPhys();
  29. };
  30. /******************************************************************************/
  31. /******************************************************************************/
  32. /******************************************************************************/