From 2a629613ed59246ded3df375dc27ee661384efda Mon Sep 17 00:00:00 2001 From: Matthew Tancik Date: Tue, 13 Sep 2022 14:46:02 -0700 Subject: [PATCH] Update ui for view selection (#423) --- nerfactory/viewer/app/src/index.scss | 9 ++-- .../src/modules/ViewerWindow/ViewerWindow.jsx | 43 ++++++++----------- nerfactory/viewer/app/src/reducer.js | 1 - nerfactory/viewer/app/src/themes/theme.ts | 28 ++++++++++++ 4 files changed, 51 insertions(+), 30 deletions(-) diff --git a/nerfactory/viewer/app/src/index.scss b/nerfactory/viewer/app/src/index.scss index a34086ea8..f1a3aefde 100644 --- a/nerfactory/viewer/app/src/index.scss +++ b/nerfactory/viewer/app/src/index.scss @@ -257,11 +257,10 @@ $sidebar-width: 100% !default; $viewer_button_size: 50px; -.ViewerWindow-camera-dropdown { - position: absolute; - margin: 10px; - top: 0px; - right: $SidePanel-width + $viewer_button_size; +.ViewerWindow-camera-toggle { + margin: auto; + text-align: center; + margin-top: 10px; z-index: 1000; } diff --git a/nerfactory/viewer/app/src/modules/ViewerWindow/ViewerWindow.jsx b/nerfactory/viewer/app/src/modules/ViewerWindow/ViewerWindow.jsx index a4a57625a..c06f9de29 100644 --- a/nerfactory/viewer/app/src/modules/ViewerWindow/ViewerWindow.jsx +++ b/nerfactory/viewer/app/src/modules/ViewerWindow/ViewerWindow.jsx @@ -1,13 +1,10 @@ import * as THREE from 'three'; import React, { useContext, useEffect, useRef } from 'react'; -import Select, { SelectChangeEvent } from '@mui/material/Select'; +import { SelectChangeEvent } from '@mui/material/Select'; import { useDispatch, useSelector } from 'react-redux'; -import FormControl from '@mui/material/FormControl'; -import { IconButton } from '@mui/material'; -import InputLabel from '@mui/material/InputLabel'; -import MenuItem from '@mui/material/MenuItem'; +import { IconButton, ToggleButtonGroup, ToggleButton } from '@mui/material'; import OpenWithIcon from '@mui/icons-material/OpenWith'; import PublicOffSharpIcon from '@mui/icons-material/PublicOffSharp'; import PublicSharpIcon from '@mui/icons-material/PublicSharp'; @@ -27,11 +24,8 @@ function createStats() { return stats; } -function CameraDropdown() { +function CameraToggle() { const dispatch = useDispatch(); - const camera_options = useSelector( - (state) => state.renderingState.camera_options, - ); const camera_choice = useSelector( (state) => state.renderingState.camera_choice, ); @@ -44,19 +38,19 @@ function CameraDropdown() { }); }; - const menu_items = camera_options.map((camera_option) => ( - - {camera_option} - - )); - return ( - - Camera - - + + Viewport + Render + ); } @@ -272,9 +266,10 @@ export default function ViewerWindow(props) { <> {/* the webrtc viewer needs to know the camera pose */} -
-
- +
+
+ +
diff --git a/nerfactory/viewer/app/src/reducer.js b/nerfactory/viewer/app/src/reducer.js index 62db036bf..64d650c2f 100644 --- a/nerfactory/viewer/app/src/reducer.js +++ b/nerfactory/viewer/app/src/reducer.js @@ -15,7 +15,6 @@ const initialState = { // the rendering state renderingState: { // cameras - camera_options: ['Main Camera', 'Render Camera'], // the possible camera names to render the scene camera_choice: 'Main Camera', // the camera being used to render the scene // camera path information diff --git a/nerfactory/viewer/app/src/themes/theme.ts b/nerfactory/viewer/app/src/themes/theme.ts index f6475c20b..a9ce1fbf8 100644 --- a/nerfactory/viewer/app/src/themes/theme.ts +++ b/nerfactory/viewer/app/src/themes/theme.ts @@ -95,5 +95,33 @@ export const appTheme = createTheme({ }, }, }, + MuiToggleButtonGroup: { + styleOverrides: { + root: { + color: '#eeeeee', + backgroundColor: '#393e46', + '&.Mui-disabled': { + color: '#999999', + backgroundColor: '#393e46', + }, + }, + }, + }, + MuiToggleButton: { + styleOverrides: { + root: { + color: '#eeeeee', + backgroundColor: '#393e46', + '&.Mui-selected': { + color: '#FFD369', + backgroundColor: '#555555', + }, + '&.Mui-disabled': { + color: '#999999', + backgroundColor: '#393e46', + }, + }, + }, + }, }, });