@@ -202,7 +202,7 @@ void processZoom(double amount) {
202202
203203void 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