Skip to content

Commit 961a722

Browse files
committed
better handling of view style in UI
1 parent c40d62c commit 961a722

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

src/view.cpp

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ void processZoom(double amount) {
202202

203203
void invalidateView() { viewMat = glm::mat4x4(std::numeric_limits<float>::quiet_NaN()); }
204204

205-
bool viewIsValid() {
205+
bool viewIsValid() {
206206
bool allFinite = true;
207207
for (int i = 0; i < 4; i++) {
208208
for (int j = 0; j < 4; j++) {
@@ -278,7 +278,7 @@ void resetCameraToHomeView() {
278278
// WARNING: Duplicated here and in flyToHomeView()
279279

280280
// If the view is invalid, don't change it. It will get reset before the first call to show().
281-
if(!viewIsValid()) {
281+
if (!viewIsValid()) {
282282
return;
283283
}
284284

@@ -505,36 +505,44 @@ void buildViewGui() {
505505
if (ImGui::TreeNode("View")) {
506506

507507
// == Camera style
508+
509+
std::string viewStyleName;
510+
switch (view::style) {
511+
case view::NavigateStyle::Turntable:
512+
viewStyleName = "Turntable";
513+
break;
514+
case view::NavigateStyle::Free:
515+
viewStyleName = "Free";
516+
break;
517+
case view::NavigateStyle::Planar:
518+
viewStyleName = "Planar";
519+
break;
520+
case view::NavigateStyle::Arcball:
521+
viewStyleName = "Arcball";
522+
break;
523+
}
524+
508525
ImGui::PushItemWidth(120);
509-
static std::string viewStyleName = "Turntable";
510526
if (ImGui::BeginCombo("##View Style", viewStyleName.c_str())) {
511527
if (ImGui::Selectable("Turntable", view::style == view::NavigateStyle::Turntable)) {
512528
view::style = view::NavigateStyle::Turntable;
513529
view::flyToHomeView();
514530
ImGui::SetItemDefaultFocus();
515-
viewStyleName = "Turntable";
516531
}
517532
if (ImGui::Selectable("Free", view::style == view::NavigateStyle::Free)) {
518533
view::style = view::NavigateStyle::Free;
519534
ImGui::SetItemDefaultFocus();
520-
viewStyleName = "Free";
521535
}
522536
if (ImGui::Selectable("Planar", view::style == view::NavigateStyle::Planar)) {
523537
view::style = view::NavigateStyle::Planar;
524538
view::flyToHomeView();
525539
ImGui::SetItemDefaultFocus();
526-
viewStyleName = "Planar";
527540
}
528-
// if (ImGui::Selectable("Arcblob", view::style == view::NavigateStyle::Arcball)) {
529-
// view::style = view::NavigateStyle::Arcball;
530-
// ImGui::SetItemDefaultFocus();
531-
// viewStyleName = "Arcblob";
532-
//}
533541
ImGui::EndCombo();
534542
}
535543
ImGui::SameLine();
536-
ImGui::Text("Camera Style");
537544

545+
ImGui::Text("Camera Style");
538546

539547
// == Up direction
540548
ImGui::PushItemWidth(120);

0 commit comments

Comments
 (0)