VOXEDIT: moved camera mode into scene widget

master
Martin Gerhardy 2016-11-09 20:04:41 +01:00
parent f82170cc02
commit 226c4aa4b8
3 changed files with 34 additions and 23 deletions

View File

@ -12,6 +12,13 @@ definitions
selectbutton
group-id selectgroup
cameramode
TBSelectDropdown: gravity: right top, @include: definitions>menubutton, id: cammode
items
item: text: "FILL", id: 0
item: text: "POINTS", id: 1
item: text: "LINES", id: 2
TBLayout: distribution: gravity, axis: y
TBContainer: gravity: all, id: maincontainer
TBLayout: distribution: gravity, axis: y
@ -32,11 +39,6 @@ TBLayout: distribution: gravity, axis: y
TBSkinImage: skin: voxedit-redo
TBLayout: gravity: left right
TBWidget
TBSelectDropdown: gravity: left top, @include: definitions>menubutton, id: cammode
items
item: text: "FILL", id: 0
item: text: "POINTS", id: 1
item: text: "LINES", id: 2
TBLayout: distribution: gravity, position: top
TBLayout: distribution: gravity, axis: y, position: left, gravity: top bottom, skin: container
TBSection: value: 1, text: "Palette"
@ -75,7 +77,7 @@ TBLayout: distribution: gravity, axis: y
@include definitions>toolbutton
TBClickLabel
text Select
TBSkinImage: skin: voxedit-select
TBSkinImage: skin: voxedit-selection
TBRadioButton
id actionselect
@include definitions>toolbutton
@ -120,7 +122,7 @@ TBLayout: distribution: gravity, axis: y
id shapecircle
@include definitions>cursorbutton
TBSection: value: 1, text: "Locks"
TBSection: value: 1, text: "Lock axes"
TBLayout: position: left top, axis: x
TBClickLabel
TBSkinImage: skin: voxedit-axis-x
@ -132,7 +134,7 @@ TBLayout: distribution: gravity, axis: y
TBSkinImage: skin: voxedit-axis-z
TBCheckBox: id: lockz
TBSection: value: 1, text: "Rotate"
TBSection: value: 1, text: "Rotate on axis"
TBLayout: position: left top, axis: x
TBButton: id: rotatex, @include: definitions>menubutton
TBSkinImage: skin: voxedit-axis-x
@ -148,10 +150,14 @@ TBLayout: distribution: gravity, axis: y
TBLayout: distribution: gravity, axis: y
TBLayout: distribution: gravity, axis: x
EditorScene: id: editorscene, gravity: left right top bottom, skin: container, camera: free
@include cameramode
EditorScene: id: editorscenetop, gravity: left right top bottom, skin: container, camera: top
@include cameramode
TBLayout: distribution: gravity, axis: x
EditorScene: id: editorsceneleft, gravity: left right top bottom, skin: container, camera: left
@include cameramode
EditorScene: id: editorscenefront, gravity: left right top bottom, skin: container, camera: front
@include cameramode
TBLayout: distribution: gravity, axis: y, position: left, gravity: top bottom, skin: container
TBSection: value: 1, text: "Select"

View File

@ -234,7 +234,7 @@ void RawVolumeRenderer::render(const video::Camera& camera) {
glDrawElements(GL_TRIANGLES, nIndices, GL_UNSIGNED_INT, nullptr);
if (_renderWireframe && camera.polygonMode() == video::PolygonMode::Solid) {
video::ScopedPolygonMode polygonMode(video::PolygonMode::WireFrame, glm::vec2(-2.0f));
video::ScopedPolygonMode polygonMode(video::PolygonMode::WireFrame, glm::vec2(2.0f));
video::ScopedLineWidth lineWidth(2.0f, true);
shaderSetUniformIf(_worldShader, setUniformf, "u_debug_color", 0.0);
glDrawElements(GL_TRIANGLES, nIndices, GL_UNSIGNED_INT, nullptr);

View File

@ -260,21 +260,26 @@ bool MainWindow::handleClickEvent(const tb::TBWidgetEvent &ev) {
bool MainWindow::handleChangeEvent(const tb::TBWidgetEvent &ev) {
if (ev.target->GetID() == TBIDC("cammode")) {
tb::TBWidget *widget = ev.target;
const int value = widget->GetValue();
video::PolygonMode mode = video::PolygonMode::Solid;
switch (value) {
case 1:
mode = video::PolygonMode::Points;
break;
case 2:
mode = video::PolygonMode::WireFrame;
break;
default:
case 0:
break;
tb::TBWidget *parent = widget->GetParent();
tb::TB_TYPE_ID typeId = GetTypeId<EditorScene>();
if (parent->IsOfTypeId(typeId)) {
const int value = widget->GetValue();
video::PolygonMode mode = video::PolygonMode::Solid;
switch (value) {
case 1:
mode = video::PolygonMode::Points;
break;
case 2:
mode = video::PolygonMode::WireFrame;
break;
default:
case 0:
break;
}
((EditorScene*)parent)->camera().setPolygonMode(mode);
return true;
}
_scene->camera().setPolygonMode(mode);
return true;
return false;
} else if (ev.target->GetID() == TBIDC("toggleviewport")) {
tb::TBWidget *widget = ev.target;
const int value = widget->GetValue();