![]() |
Dandelion 2.0.0
A light-weight 3D builder for educational usage
|
工具栏提供大部分对场景、物体、相机和光源的操作。 更多...
#include <toolbar.h>
Public 成员函数 | |
| Toolbar (WorkingMode &mode, const SelectableType &selected_element) | |
| 工具栏持有对工作模式的引用和对选中元素的引用,构造时必须传递。 | |
| void | render (Scene &scene) |
Public 属性 | |
| std::function< void(SelectableType)> | on_element_selected |
| std::function< void()> | on_selection_canceled |
Private 成员函数 | |
| void | switch_mode (WorkingMode target_mode, Scene &scene) |
| void | scene_hierarchies (Scene &scene) |
| void | xyz_drag (float *x, float *y, float *z, float v_speed, const char *format="%.2f") |
| void | material_editor (Material &material) |
| void | layout_mode (Scene &scene) |
| void | model_mode (Scene &scene) |
| void | render_mode (Scene &scene) |
| void | simulate_mode (Scene &scene) |
Private 属性 | |
| WorkingMode & | mode |
| const SelectableType & | selected_element |
| unsigned int | gl_rendered_texture |
工具栏提供大部分对场景、物体、相机和光源的操作。
| Toolbar::Toolbar | ( | WorkingMode & | mode, |
| const SelectableType & | selected_element ) |
工具栏持有对工作模式的引用和对选中元素的引用,构造时必须传递。
工具栏还有 on_element_selected 和 on_selection_canceled 两个与选择和拾取有关的回调函数,如果没有设置这两个回调函数,工具栏将不能正常工作。 但构造函数并不会设置它们,而是由控制器在创建工具栏时设置。目前,
|
private |
布局模式对应的标签页。
|
private |
显示并编辑单个物体的材质属性。
|
private |
建模模式对应的标签页。
| void Toolbar::render | ( | Scene & | scene | ) |
显示工具栏。
|
private |
渲染模式对应的标签页。
|
private |
将场景层次结构展示为一个树形列表。
|
private |
物理模拟模式对应的标签页。
|
private |
切换工作模式,清理上一个模式的临时数据。
|
private |
显示标签分别为 x, y, z 的三个 ImGui::DragFloat 控件。
|
private |
用于在渲染模式下展示渲染结果的 OpenGL 纹理描述符。
|
private |
与 Dandelion 的工作模式一一对应,render 方法据此调整渲染行为。
| std::function<void(SelectableType)> UI::Toolbar::on_element_selected |
选中元素时的回调函数。
| std::function<void()> UI::Toolbar::on_selection_canceled |
取消选中时的回调函数。
|
private |
工具栏需要了解当前被选中的元素才能显示相应的操作。