libigl的默认按键(如“L”等)简介

Libigl库提供了与键盘交互的功能,允许用户通过默认按键如“L”来切换线框模式。开发者可以重定义这些按键,例如“L”同时实现切换网格和执行自定义操作。然而,对某些键如“T”的重定义可能导致问题。此外,按键“Shift+A”和“Shift+B”用于显示顶点和面的编号,需在大写锁定状态下使用。为使编号显示准确,应确保网格单位化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

libigl具有与键盘交互的功能(Interaction With Keyboard And Mouse),它有一些默认的按键,当运行一个libigl项目时,会跳出以下窗口,窗口自动输出的内容中介绍了libigl的默认按键:
在这里插入图片描述
比如上图中的“L”键,功能是Toggle wireframe(切换线框),其实功能就是hide/show edges(隐藏或显示网格),比如下面两幅图,一开始有网格,点击libigl viewer窗口后,按一下“L”后网格消失,再按一下“L”,网格会重新出现
在这里插入图片描述
在这里插入图片描述
有的按键的功能可以重复定义,比如按键“L”,libigl已对其默认定义了隐藏/显示网格的功能,但本人在自己程序中加上以下代码,按键“L”将同时具有隐藏/显示网格的功能和本人自定义的功能:

if (key == 'L' || (unsigned int)key == 76) {

      //绘制完整的原始网格模型(在超像素分割的基础上进行二次分割的结果)

      for (int mesh_id = 0; mesh_id < viewer.data_list.size(); mesh_id++) {
          viewer.selected_data_index = mesh_id;
          viewer.data().clear();   //把模型网格和代理平面网格全部清除
      }
      
      igl::jet(RR, true, Color2);     
      viewer.data().set_mesh(V_norm, F);
      viewer.data().set_colors(Color2);   
  }

同理,经本人实验,按键“A”、“D”、“F”、“I”、“O”也可以重复定义,但本人重复定义按键“T”时曾遇到过网格显示异常的问题,所以本人还是不建议对libigl的默认按键进行重复定义。

此外,对于:和;这两个按键,其作用分别是在网格上显示顶点的编号和面的编号,必须打开键盘上的大写锁才能正常使用,其中:要在打开键盘上的大写锁后点击libigl窗口,再按shift键和:键,就能显示面的编号了。注意:要将网格单位化,变成在单位直径(半径为0.5)球内的模型,libigl窗口上显示的网格顶点的编号和面的编号位置才能和网格上点和面的位置比较接近

  ;       Toggle vertex labels
  :       Toggle face labels
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值