Haxel Engine learning 13 -- Mouse and Key Codes

本文介绍了Hazel项目中KeyCodes.h和MouseCodes.h文件的内容,这些文件封装了glfw3.h库中的键盘按键和鼠标按键定义,使得客户端使用Hazel时无需直接依赖glfw3.h库。

为Hazel 添加KeyCodes.h和MouseCodes.h

这样客户端使用Hazel时就不需要调用glfw3.h库了

完整代码:https://github.com/DXT00/Hazel_study/tree/714bfe2563f7049665ce74d6c67fd7e0ecb0a065

KeyCodes.h

#pragma once

//From glfw3.h

#define HZ_KEY_SPACE              32
#define HZ_KEY_APOSTROPHE         39  /* ' */
#define HZ_KEY_COMMA              44  /* , */
#define HZ_KEY_MINUS              45  /* - */
#define HZ_KEY_PERIOD             46  /* . */
#define HZ_KEY_SLASH              47  /* / */
#define HZ_KEY_0                  48
#define HZ_KEY_1                  49
#define HZ_KEY_2                  50
#define HZ_KEY_3                  51
#define HZ_KEY_4                  52
#define HZ_KEY_5                  53
#define HZ_KEY_6                  54
#define HZ_KEY_7                  55
#define HZ_KEY_8                  56
#define HZ_KEY_9                  57
#define HZ_KEY_SEMICOLON          59  /* ; */
#define HZ_KEY_EQUAL              61  /* = */
#define HZ_KEY_A                  65
#define HZ_KEY_B                  66
#define HZ_KEY_C                  67
#define HZ_KEY_D                  68
#define HZ_KEY_E                  69
#define HZ_KEY_F                  70
#define HZ_KEY_G                  71
#define HZ_KEY_H                  72
#define HZ_KEY_I                  73
#define HZ_KEY_J                  74
#define HZ_KEY_K                  75
#define HZ_KEY_L                  76
#define HZ_KEY_M                  77
#define HZ_KEY_N                  78
#define HZ_KEY_O                  79
#define HZ_KEY_P                  80
#define HZ_KEY_Q                  81
#define HZ_KEY_R                  82
#define HZ_KEY_S                  83
#define HZ_KEY_T                  84
#define HZ_KEY_U                  85
#define HZ_KEY_V                  86
#define HZ_KEY_W                  87
#define HZ_KEY_X                  88
#define HZ_KEY_Y                  89
#define HZ_KEY_Z                  90
#define HZ_KEY_LEFT_BRACKET       91  /* [ */
#define HZ_KEY_BACKSLASH          92  /* \ */
#define HZ_KEY_RIGHT_BRACKET      93  /* ] */
#define HZ_KEY_GRAVE_ACCENT       96  /* ` */
#define HZ_KEY_WORLD_1            161 /* non-US #1 */
#define HZ_KEY_WORLD_2            162 /* non-US #2 */

/* Function keys */
#define HZ_KEY_ESCAPE             256
#define HZ_KEY_ENTER              257
#define HZ_KEY_TAB                258
#define HZ_KEY_BACKSPACE          259
#define HZ_KEY_INSERT             260
#define HZ_KEY_DELETE             261
#define HZ_KEY_RIGHT              262
#define HZ_KEY_LEFT               263
#define HZ_KEY_DOWN               264
#define HZ_KEY_UP                 265
#define HZ_KEY_PAGE_UP            266
#define HZ_KEY_PAGE_DOWN          267
#define HZ_KEY_HOME               268
#define HZ_KEY_END                269
#define HZ_KEY_CAPS_LOCK          280
#define HZ_KEY_SCROLL_LOCK        281
#define HZ_KEY_NUM_LOCK           282
#define HZ_KEY_PRINT_SCREEN       283
#define HZ_KEY_PAUSE              284
#define HZ_KEY_F1                 290
#define HZ_KEY_F2                 291
#define HZ_KEY_F3                 292
#define HZ_KEY_F4                 293
#define HZ_KEY_F5                 294
#define HZ_KEY_F6                 295
#define HZ_KEY_F7                 296
#define HZ_KEY_F8                 297
#define HZ_KEY_F9                 298
#define HZ_KEY_F10                299
#define HZ_KEY_F11                300
#define HZ_KEY_F12                301
#define HZ_KEY_F13                302
#define HZ_KEY_F14                303
#define HZ_KEY_F15                304
#define HZ_KEY_F16                305
#define HZ_KEY_F17                306
#define HZ_KEY_F18                307
#define HZ_KEY_F19                308
#define HZ_KEY_F20                309
#define HZ_KEY_F21                310
#define HZ_KEY_F22                311
#define HZ_KEY_F23                312
#define HZ_KEY_F24                313
#define HZ_KEY_F25                314
#define HZ_KEY_KP_0               320
#define HZ_KEY_KP_1               321
#define HZ_KEY_KP_2               322
#define HZ_KEY_KP_3               323
#define HZ_KEY_KP_4               324
#define HZ_KEY_KP_5               325
#define HZ_KEY_KP_6               326
#define HZ_KEY_KP_7               327
#define HZ_KEY_KP_8               328
#define HZ_KEY_KP_9               329
#define HZ_KEY_KP_DECIMAL         330
#define HZ_KEY_KP_DIVIDE          331
#define HZ_KEY_KP_MULTIPLY        332
#define HZ_KEY_KP_SUBTRACT        333
#define HZ_KEY_KP_ADD             334
#define HZ_KEY_KP_ENTER           335
#define HZ_KEY_KP_EQUAL           336
#define HZ_KEY_LEFT_SHIFT         340
#define HZ_KEY_LEFT_CONTROL       341
#define HZ_KEY_LEFT_ALT           342
#define HZ_KEY_LEFT_SUPER         343
#define HZ_KEY_RIGHT_SHIFT        344
#define HZ_KEY_RIGHT_CONTROL      345
#define HZ_KEY_RIGHT_ALT          346
#define HZ_KEY_RIGHT_SUPER        347
#define HZ_KEY_MENU               348

MouseCodes.h 

#pragma once

//From glfw3.h
#define HZ_MOUSE_BUTTON_1         0
#define HZ_MOUSE_BUTTON_2         1
#define HZ_MOUSE_BUTTON_3         2
#define HZ_MOUSE_BUTTON_4         3
#define HZ_MOUSE_BUTTON_5         4
#define HZ_MOUSE_BUTTON_6         5
#define HZ_MOUSE_BUTTON_7         6
#define HZ_MOUSE_BUTTON_8         7
#define HZ_MOUSE_BUTTON_LAST      HZ_MOUSE_BUTTON_8
#define HZ_MOUSE_BUTTON_LEFT      HZ_MOUSE_BUTTON_1
#define HZ_MOUSE_BUTTON_RIGHT     HZ_MOUSE_BUTTON_2
#define HZ_MOUSE_BUTTON_MIDDLE    HZ_MOUSE_BUTTON_3

 

个人防护装备实例分割数据集 一、基础信息 • 数据集名称:个人防护装备实例分割数据集 • 图片数量: 训练集:4524张图片 • 训练集:4524张图片 • 分类类别: 手套(Gloves) 头盔(Helmet) 未戴手套(No-Gloves) 未戴头盔(No-Helmet) 未穿鞋(No-Shoes) 未穿背心(No-Vest) 鞋子(Shoes) 背心(Vest) • 手套(Gloves) • 头盔(Helmet) • 未戴手套(No-Gloves) • 未戴头盔(No-Helmet) • 未穿鞋(No-Shoes) • 未穿背心(No-Vest) • 鞋子(Shoes) • 背心(Vest) • 标注格式:YOLO格式,适用于实例分割任务,包含边界框或多边形坐标。 • 数据格式:图片数据,来源于监控或相关场景。 二、适用场景 • 工业安全监控系统开发:用于自动检测工人是否佩戴必要的个人防护装备,提升工作场所安全性,减少工伤风险。 • 智能安防应用:集成到监控系统中,实时分析视频流,识别PPE穿戴状态,辅助安全预警。 • 合规性自动化检查:在建筑、制造等行业,自动检查个人防护装备穿戴合规性,支持企业安全审计。 • 计算机视觉研究:支持实例分割、目标检测等算法在安全领域的创新研究,促进AI模型优化。 三、数据集优势 • 类别全面:覆盖8种常见个人防护装备及其缺失状态,提供丰富的检测场景,确保模型能处理各种实际情况。 • 标注精准:采用YOLO格式,每个实例都经过精细标注,边界框或多边形坐标准确,提升模型训练质量。 • 真实场景数据:数据来源于实际环境,增强模型在真实世界中的泛化能力和实用性。 • 兼容性强:YOLO格式便于与主流深度学习框架(如YOLO、PyTorch等)集成,支持快速部署和实验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值