IDErrorMessages.hpp 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. ///@file error message utility functions
  2. #ifndef IDUTILS_HPP_
  3. #define IDUTILS_HPP_
  4. #include <cstring>
  5. /// name of file being compiled, without leading path components
  6. #define __INVDYN_FILE_WO_DIR__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
  7. #if !defined(BT_ID_WO_BULLET) && !defined(BT_USE_INVERSE_DYNAMICS_WITH_BULLET2)
  8. #include "Bullet3Common/b3Logging.h"
  9. #define bt_id_error_message(...) b3Error(__VA_ARGS__)
  10. #define bt_id_warning_message(...) b3Warning(__VA_ARGS__)
  11. #define id_printf(...) b3Printf(__VA_ARGS__)
  12. #else // BT_ID_WO_BULLET
  13. #include <cstdio>
  14. /// print error message with file/line information
  15. #define bt_id_error_message(...) \
  16. do \
  17. { \
  18. fprintf(stderr, "[Error:%s:%d] ", __INVDYN_FILE_WO_DIR__, __LINE__); \
  19. fprintf(stderr, __VA_ARGS__); \
  20. } while (0)
  21. /// print warning message with file/line information
  22. #define bt_id_warning_message(...) \
  23. do \
  24. { \
  25. fprintf(stderr, "[Warning:%s:%d] ", __INVDYN_FILE_WO_DIR__, __LINE__); \
  26. fprintf(stderr, __VA_ARGS__); \
  27. } while (0)
  28. #define id_printf(...) printf(__VA_ARGS__)
  29. #endif // BT_ID_WO_BULLET
  30. #endif