IDErrorMessages.hpp 1.2 KB

123456789101112131415161718192021222324252627282930
  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. fprintf(stderr, "[Error:%s:%d] ", __INVDYN_FILE_WO_DIR__, __LINE__); \
  18. fprintf(stderr, __VA_ARGS__); \
  19. } while (0)
  20. /// print warning message with file/line information
  21. #define bt_id_warning_message(...) \
  22. do { \
  23. fprintf(stderr, "[Warning:%s:%d] ", __INVDYN_FILE_WO_DIR__, __LINE__); \
  24. fprintf(stderr, __VA_ARGS__); \
  25. } while (0)
  26. #define id_printf(...) printf(__VA_ARGS__)
  27. #endif // BT_ID_WO_BULLET
  28. #endif