Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

lolbtphysicsintegration.h 1.6 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //
  2. // Lol Engine
  3. //
  4. // Copyright © 2010—2013 Benjamin “Touky” Huet <huet.benjamin@gmail.com>
  5. // © 2009—2013 Sam Hocevar <sam@hocevar.net>
  6. //
  7. // This library is free software. It comes without any warranty, to
  8. // the extent permitted by applicable law. You can redistribute it
  9. // and/or modify it under the terms of the Do What the Fuck You Want
  10. // to Public License, Version 2, as published by the WTFPL Task Force.
  11. // See http://www.wtfpl.net/ for more details.
  12. //
  13. #pragma once
  14. //
  15. // Bullet Physics integration in Lol
  16. // ---------------------------------
  17. //
  18. namespace lol
  19. {
  20. // Override Gamegroups names for Physic-usage
  21. // "_ENT_" means that this is a group for Entities that use EasyPhysic primitives.
  22. // "_EZP_" means that this is a group for EasyPhysic primitives.
  23. #define GAMEGROUP_ENT_INPUT GAMEGROUP_INPUT
  24. #define GAMEGROUP_ENT_PLATFORM GAMEGROUP_ENTITY
  25. #define GAMEGROUP_ENT_MAIN GAMEGROUP_OTHER_1
  26. #define GAMEGROUP_EZP_CHAR_CTRLR GAMEGROUP_OTHER_2
  27. #define GAMEGROUP_SIMULATION GAMEGROUP_OTHER_3
  28. #define LOL2BT_UNIT 1.0f
  29. #define BT2LOL_UNIT 1.0f
  30. #define LOL2BT_SIZE 0.5f
  31. #define BT2LOL_SIZE 2.0f
  32. #define LOL2BT_VEC3(v) btVector3((v).x, (v).y, (v).z)
  33. #define BT2LOL_VEC3(v) lol::vec3(v.getX(), v.getY(), v.getZ())
  34. // Same as above with Unit taken into account
  35. #define LOL2BTU_VEC3(v) (LOL2BT_VEC3(v) * LOL2BT_UNIT)
  36. #define BT2LOLU_VEC3(v) (BT2LOL_VEC3(v) * BT2LOL_UNIT)
  37. #define LOL2BT_QUAT(q) btQuaternion((q).x, (q).y, (q).z, (q).w)
  38. #define BT2LOL_QUAT(q) lol::quat((q).getW(), BT2LOL_VEC3((q).getAxis())
  39. } /* namespace lol */