-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor: added Open3DScene #1992
Conversation
Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes. |
Here is an overview of what got changed by this pull request: Issues
======
+ Solved 4
- Added 3
Clones added
============
- cpp/open3d/visualization/Rendering/Open3DScene.cpp 5
Clones removed
==============
+ cpp/open3d/visualization/Visualizer/GuiVisualizer.cpp -5
See the complete overview on Codacy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 5 of 6 files at r3.
Reviewable status: complete! all files reviewed, all discussions resolved
* Refactor: added Open3DScene (#1992) * Refactor: added Open3DScene, refactored SceneWidget and GuiVisualizer to use it * Removed now-unnecessary visualization:: qualification in SceneWidget * Fixed model rotation not working * Remove unused variable that GCC complains about * Fixed include path * Fixed another include path * Include path fix * Refactored GuiVisualizer so that the view settings are more independent and more MVC-like * Merged master into vis-refactor. (#2099) * Updated Info.plist file for app to claim it edits and is the default type for the file associations. Also adds .pcd as a supported file type. (#2001) * fix obb rotate and scale (#1999) * python-based parallel style check for py/cpp/jupyter (#2003) * python-based parallel style check for py/cpp/jupyter * intentially introduce style error * remove redundant `pass` * reorder code * fix clang-format finder * require py36, hand-coded version parsing * fix intentional style errors * do not use system jsoncpp (#2005) * Reorg: Added namespace 'rendering' for visualization/rendering (#2002) * Reorg: Added namespace 'rendering' for visualization/rendering * Reorg: modify unit test to use new 'rendering' namespace * overload draw_geometries (#1997) * std::min of extent in visualizer (#2008) * remove voxel_pooling namespace (#2014) * ml namespaces reorg (#2017) * rename shape_checking -> op_util * rename detail -> impl * adapt includes in ml * fix namespace in shapechecking unit test * fix paths in CMakeLists for tensorflow and pytorch ops * reorg: remove hash_* namespaces (#2025) * reorg: hash_*::hash to hash_* (remove hash_* namespaces) * reorg: apply-style * Rename GLHelper namespace (#2024) * Reorg: change namespace GLHelper to gl_util * Style fixes * Reorg: remove texture_loading namespace * Removed visualization::gui::util namespace (#2013) * Removed visualization::gui::util namespace * Style fixes * add make check-cpp-style, apply-cpp-style (#2016) * move dlpack (#2009) * move dlpack * move dlpack tests * add license header * move Open3DDLManagedTensor constructor * more license * DLManagedTensor:Create * update Eigen to use the GitLab commit id (#2030) * Update PointCloud.h (#2032) Changed Incorrect interchanged description for variable points_ and colors_ * Update CHANGELOG.md (#2033) As required by guidelines with respect to Pull request #2032 * fix coord frame origin bug (#2034) * Added comment explaining why Util.h only has one function in it (#2028) * expose poisson rec threads param (#2035) * remove clean up * fix path (#2048) * Adds menu option on macOS to make Open3D viewer default for file types (#2031) * Adds menu option on macOS to make Open3D viewer default for file types we load. Also makes macOS menu more Mac-like, and fixes problems with auto-centering windows. * Linux fixes * Applied style * Get rid of some magic numbers * Use GitHub actions again for macOS CI (#2045) * enable macos github actions, disable macos travis * use ccache * skip brew upgrade * torch op nvcc bugfix and impl namespace (#2044) * fix deprecated warning with torch 1.5 * fix problems with compile options and nvcc * add shape checking code for pytorch op * namespace rename open3d::ml::detail -> open3d::ml::impl * only modify torch_cuda when building with cuda * use full include paths * disable CreateFromPointCloudPoisson test for macos (#2054) * disable CreateFromPointCloudPoisson test for macos * set macos threads=1 * ml op test code and torch reduce_subarrays_sum op (#2050) * fix deprecated warning with torch 1.5 * fix problems with compile options and nvcc * add shape checking code for pytorch op * namespace rename open3d::ml::detail -> open3d::ml::impl * only modify torch_cuda when building with cuda * -updated and cleaned up code for testing across ml frameworks * added reduce_subarrays_sum op for torch * rename dir with ml op tests to ml_ops * fix include paths * -fix missing entry in _build_config.py -fix bug not running the tests on the gpu -fix problems detected by pylint * add more information to open3d._build_config * fix another pytorch problem * catch ImportError for compatibility with python 3.5 * add missing import statement * rename mltest.parameterize -> mltest.parametrize * CUDA header as system header for CMake 3.16 (#2058) * update CI badges, remove appveyor (#2059) * Docs updated for build with CUDA (#2055) * Add building with CUDA * fix style * fixes * remove space * Remove space * TensorList refactoring and comparison tensor ops (#2066) * refactor TensorList, add Tensor comp ops * fix msvc error * fix utility::LogXX {} escape problem (#2072) * fix LogXX {} escape problem * fix a typo * specifying utf-8 encoding to open nb_path (#1935) * Release Python GIL for fast multithreaded IO (#1936) * ClassIO Python bindings now release GIL This allows multithreaded loading of PCD files, etc. * Update CHANGELOG.md as requested * Incorrect list-item indent: add 2 spaces * clang-format class_io.cpp Co-authored-by: Samson Lee <samson.lee@visionarymachines.com> * Fix window showing buffer from last resize when a window is moved on macOS (#2076) * lower case "open3d/3rdparty" intall dir (#2083) * fix bug in import_3rdparty_library for paths without trailing '/' (#2084) * -fix bug in import_3rdparty_library for paths without trailing '/' and allow to pass multiple include dirs * improved doc for import_3rdparty_library and build_3rdparty_library * fetch Filament with CMake FetchContent (#2085) * Implements python bindings for gui namespace (#2042) * no message * Added pybinds for TabControl and FileDialog * Add C++ function to initialize with a resource path, updated python package to include resources and update pybind to get resource path from module path * Added pybinds for Menu. * Refactored to gui pybinds to export properties wherever feasible * Fix height used for auto-sizing windows to be less than the monitor size to account for window titles and global menu/toolbar * Added python GUI example * Style changes * Merge branch 'master' into prewettg/pybind-gui * Don't include GUI pybinds if ENABLE_GUI=OFF * Fixed dynamic link error when importing open3d and ENABLE_GUI=OFF * Add python example of Open3DViewer UI, added some float->int bindings, and added a Window.set_on_layout() function to implement a layout callback. * Fix macOS sometimes not issuing draw event when UI is run through Python * Added documentation to gui pybinds * Style fixes * Added open3d.visualization.gui to the documentation, improved docstrings. * Style fix * Made GUI examples more like a framework of a simple app, rather than just functions that use the API. Also fixed crash when macOS file dialog has no filters, and a bug with dialogs sometimes not displaying until a mouse move. * Style fixes * Updated some copyright dates * Removed unused function * Moved nested callback functions to be top-level methods in GUI python examples * Fixed documentation failing when built with ENABLE_GUI=OFF * Style fixes * scalar support to more binary ops (#2093) * scalar support for more binary ops * fix boolean advanced indexing * Added gui::TreeView widget (#2081) * Build: exclude refactored Gui related classes when ENABLE_GUI=OFF * Build: Make sure refactored files are exluded from build when ENABLE_GUI=OFF Co-authored-by: prewettg <prewettg@gmail.com> Co-authored-by: Gernot <gernotriegler@gmail.com> Co-authored-by: Yixing Lao <yixing.lao@gmail.com> Co-authored-by: Benjamin Ummenhofer <benjaminum@gmail.com> Co-authored-by: pvarvak <60749825+pvarvak@users.noreply.github.com> Co-authored-by: Pranay Mathur <37473401+Matnay@users.noreply.github.com> Co-authored-by: Sanskar Agrawal <sanskaragrawal107@gmail.com> Co-authored-by: johnbomidi <37553132+johnbomidi@users.noreply.github.com> Co-authored-by: sammo2828 <sammo2828@gmail.com> Co-authored-by: Samson Lee <samson.lee@visionarymachines.com> * New Scene Interface [not ready for master] (#2102) * Updated Info.plist file for app to claim it edits and is the default type for the file associations. Also adds .pcd as a supported file type. (#2001) * fix obb rotate and scale (#1999) * python-based parallel style check for py/cpp/jupyter (#2003) * python-based parallel style check for py/cpp/jupyter * intentially introduce style error * remove redundant `pass` * reorder code * fix clang-format finder * require py36, hand-coded version parsing * fix intentional style errors * do not use system jsoncpp (#2005) * Reorg: Added namespace 'rendering' for visualization/rendering (#2002) * Reorg: Added namespace 'rendering' for visualization/rendering * Reorg: modify unit test to use new 'rendering' namespace * overload draw_geometries (#1997) * std::min of extent in visualizer (#2008) * remove voxel_pooling namespace (#2014) * ml namespaces reorg (#2017) * rename shape_checking -> op_util * rename detail -> impl * adapt includes in ml * fix namespace in shapechecking unit test * fix paths in CMakeLists for tensorflow and pytorch ops * reorg: remove hash_* namespaces (#2025) * reorg: hash_*::hash to hash_* (remove hash_* namespaces) * reorg: apply-style * Rename GLHelper namespace (#2024) * Reorg: change namespace GLHelper to gl_util * Style fixes * Reorg: remove texture_loading namespace * Removed visualization::gui::util namespace (#2013) * Removed visualization::gui::util namespace * Style fixes * add make check-cpp-style, apply-cpp-style (#2016) * move dlpack (#2009) * move dlpack * move dlpack tests * add license header * move Open3DDLManagedTensor constructor * more license * DLManagedTensor:Create * update Eigen to use the GitLab commit id (#2030) * Update PointCloud.h (#2032) Changed Incorrect interchanged description for variable points_ and colors_ * Update CHANGELOG.md (#2033) As required by guidelines with respect to Pull request #2032 * fix coord frame origin bug (#2034) * Added comment explaining why Util.h only has one function in it (#2028) * expose poisson rec threads param (#2035) * remove clean up * fix path (#2048) * Adds menu option on macOS to make Open3D viewer default for file types (#2031) * Adds menu option on macOS to make Open3D viewer default for file types we load. Also makes macOS menu more Mac-like, and fixes problems with auto-centering windows. * Linux fixes * Applied style * Get rid of some magic numbers * Use GitHub actions again for macOS CI (#2045) * enable macos github actions, disable macos travis * use ccache * skip brew upgrade * torch op nvcc bugfix and impl namespace (#2044) * fix deprecated warning with torch 1.5 * fix problems with compile options and nvcc * add shape checking code for pytorch op * namespace rename open3d::ml::detail -> open3d::ml::impl * only modify torch_cuda when building with cuda * use full include paths * disable CreateFromPointCloudPoisson test for macos (#2054) * disable CreateFromPointCloudPoisson test for macos * set macos threads=1 * ml op test code and torch reduce_subarrays_sum op (#2050) * fix deprecated warning with torch 1.5 * fix problems with compile options and nvcc * add shape checking code for pytorch op * namespace rename open3d::ml::detail -> open3d::ml::impl * only modify torch_cuda when building with cuda * -updated and cleaned up code for testing across ml frameworks * added reduce_subarrays_sum op for torch * rename dir with ml op tests to ml_ops * fix include paths * -fix missing entry in _build_config.py -fix bug not running the tests on the gpu -fix problems detected by pylint * add more information to open3d._build_config * fix another pytorch problem * catch ImportError for compatibility with python 3.5 * add missing import statement * rename mltest.parameterize -> mltest.parametrize * CUDA header as system header for CMake 3.16 (#2058) * update CI badges, remove appveyor (#2059) * Docs updated for build with CUDA (#2055) * Add building with CUDA * fix style * fixes * remove space * Remove space * TensorList refactoring and comparison tensor ops (#2066) * refactor TensorList, add Tensor comp ops * fix msvc error * fix utility::LogXX {} escape problem (#2072) * fix LogXX {} escape problem * fix a typo * specifying utf-8 encoding to open nb_path (#1935) * Release Python GIL for fast multithreaded IO (#1936) * ClassIO Python bindings now release GIL This allows multithreaded loading of PCD files, etc. * Update CHANGELOG.md as requested * Incorrect list-item indent: add 2 spaces * clang-format class_io.cpp Co-authored-by: Samson Lee <samson.lee@visionarymachines.com> * Fix window showing buffer from last resize when a window is moved on macOS (#2076) * lower case "open3d/3rdparty" intall dir (#2083) * fix bug in import_3rdparty_library for paths without trailing '/' (#2084) * -fix bug in import_3rdparty_library for paths without trailing '/' and allow to pass multiple include dirs * improved doc for import_3rdparty_library and build_3rdparty_library * fetch Filament with CMake FetchContent (#2085) * Implements python bindings for gui namespace (#2042) * no message * Added pybinds for TabControl and FileDialog * Add C++ function to initialize with a resource path, updated python package to include resources and update pybind to get resource path from module path * Added pybinds for Menu. * Refactored to gui pybinds to export properties wherever feasible * Fix height used for auto-sizing windows to be less than the monitor size to account for window titles and global menu/toolbar * Added python GUI example * Style changes * Merge branch 'master' into prewettg/pybind-gui * Don't include GUI pybinds if ENABLE_GUI=OFF * Fixed dynamic link error when importing open3d and ENABLE_GUI=OFF * Add python example of Open3DViewer UI, added some float->int bindings, and added a Window.set_on_layout() function to implement a layout callback. * Fix macOS sometimes not issuing draw event when UI is run through Python * Added documentation to gui pybinds * Style fixes * Added open3d.visualization.gui to the documentation, improved docstrings. * Style fix * Made GUI examples more like a framework of a simple app, rather than just functions that use the API. Also fixed crash when macOS file dialog has no filters, and a bug with dialogs sometimes not displaying until a mouse move. * Style fixes * Updated some copyright dates * Removed unused function * Moved nested callback functions to be top-level methods in GUI python examples * Fixed documentation failing when built with ENABLE_GUI=OFF * Style fixes * scalar support to more binary ops (#2093) * scalar support for more binary ops * fix boolean advanced indexing * Added gui::TreeView widget (#2081) * Build: exclude refactored Gui related classes when ENABLE_GUI=OFF * Build: Make sure refactored files are exluded from build when ENABLE_GUI=OFF * Refactor: Initial working version of Scene interface * Update Open3DViewer and associated files to use new Scene interfaces (+ style changes) * Fix spurious warnings * Fix material switching to work with new Scene interface Co-authored-by: prewettg <prewettg@gmail.com> Co-authored-by: Gernot <gernotriegler@gmail.com> Co-authored-by: Yixing Lao <yixing.lao@gmail.com> Co-authored-by: Benjamin Ummenhofer <benjaminum@gmail.com> Co-authored-by: pvarvak <60749825+pvarvak@users.noreply.github.com> Co-authored-by: Pranay Mathur <37473401+Matnay@users.noreply.github.com> Co-authored-by: Sanskar Agrawal <sanskaragrawal107@gmail.com> Co-authored-by: johnbomidi <37553132+johnbomidi@users.noreply.github.com> Co-authored-by: sammo2828 <sammo2828@gmail.com> Co-authored-by: Samson Lee <samson.lee@visionarymachines.com> * Bug fixes for refactor (#2114) * Added pybinds open3d::visualization::rendering and implement Python equivalent of vis app (#2113) * Fix compile warnings * Axes shouldn't cast or receive shadows * Removed code marked as unnecessary * Fix Windows error * Style fix and Windows fix * Don't include rendering pybinds if ENABLE_GUI=OFF * Code review changes * Removed unused member variable * Removed warning if attempting to remove non-existent geometry from the Scene Co-authored-by: Rene <errissa@gmail.com> Co-authored-by: Gernot <gernotriegler@gmail.com> Co-authored-by: Yixing Lao <yixing.lao@gmail.com> Co-authored-by: Benjamin Ummenhofer <benjaminum@gmail.com> Co-authored-by: pvarvak <60749825+pvarvak@users.noreply.github.com> Co-authored-by: Pranay Mathur <37473401+Matnay@users.noreply.github.com> Co-authored-by: Sanskar Agrawal <sanskaragrawal107@gmail.com> Co-authored-by: johnbomidi <37553132+johnbomidi@users.noreply.github.com> Co-authored-by: sammo2828 <sammo2828@gmail.com> Co-authored-by: Samson Lee <samson.lee@visionarymachines.com>
* Refactor: added Open3DScene (isl-org#1992) * Refactor: added Open3DScene, refactored SceneWidget and GuiVisualizer to use it * Removed now-unnecessary visualization:: qualification in SceneWidget * Fixed model rotation not working * Remove unused variable that GCC complains about * Fixed include path * Fixed another include path * Include path fix * Refactored GuiVisualizer so that the view settings are more independent and more MVC-like * Merged master into vis-refactor. (isl-org#2099) * Updated Info.plist file for app to claim it edits and is the default type for the file associations. Also adds .pcd as a supported file type. (isl-org#2001) * fix obb rotate and scale (isl-org#1999) * python-based parallel style check for py/cpp/jupyter (isl-org#2003) * python-based parallel style check for py/cpp/jupyter * intentially introduce style error * remove redundant `pass` * reorder code * fix clang-format finder * require py36, hand-coded version parsing * fix intentional style errors * do not use system jsoncpp (isl-org#2005) * Reorg: Added namespace 'rendering' for visualization/rendering (isl-org#2002) * Reorg: Added namespace 'rendering' for visualization/rendering * Reorg: modify unit test to use new 'rendering' namespace * overload draw_geometries (isl-org#1997) * std::min of extent in visualizer (isl-org#2008) * remove voxel_pooling namespace (isl-org#2014) * ml namespaces reorg (isl-org#2017) * rename shape_checking -> op_util * rename detail -> impl * adapt includes in ml * fix namespace in shapechecking unit test * fix paths in CMakeLists for tensorflow and pytorch ops * reorg: remove hash_* namespaces (isl-org#2025) * reorg: hash_*::hash to hash_* (remove hash_* namespaces) * reorg: apply-style * Rename GLHelper namespace (isl-org#2024) * Reorg: change namespace GLHelper to gl_util * Style fixes * Reorg: remove texture_loading namespace * Removed visualization::gui::util namespace (isl-org#2013) * Removed visualization::gui::util namespace * Style fixes * add make check-cpp-style, apply-cpp-style (isl-org#2016) * move dlpack (isl-org#2009) * move dlpack * move dlpack tests * add license header * move Open3DDLManagedTensor constructor * more license * DLManagedTensor:Create * update Eigen to use the GitLab commit id (isl-org#2030) * Update PointCloud.h (isl-org#2032) Changed Incorrect interchanged description for variable points_ and colors_ * Update CHANGELOG.md (isl-org#2033) As required by guidelines with respect to Pull request isl-org#2032 * fix coord frame origin bug (isl-org#2034) * Added comment explaining why Util.h only has one function in it (isl-org#2028) * expose poisson rec threads param (isl-org#2035) * remove clean up * fix path (isl-org#2048) * Adds menu option on macOS to make Open3D viewer default for file types (isl-org#2031) * Adds menu option on macOS to make Open3D viewer default for file types we load. Also makes macOS menu more Mac-like, and fixes problems with auto-centering windows. * Linux fixes * Applied style * Get rid of some magic numbers * Use GitHub actions again for macOS CI (isl-org#2045) * enable macos github actions, disable macos travis * use ccache * skip brew upgrade * torch op nvcc bugfix and impl namespace (isl-org#2044) * fix deprecated warning with torch 1.5 * fix problems with compile options and nvcc * add shape checking code for pytorch op * namespace rename open3d::ml::detail -> open3d::ml::impl * only modify torch_cuda when building with cuda * use full include paths * disable CreateFromPointCloudPoisson test for macos (isl-org#2054) * disable CreateFromPointCloudPoisson test for macos * set macos threads=1 * ml op test code and torch reduce_subarrays_sum op (isl-org#2050) * fix deprecated warning with torch 1.5 * fix problems with compile options and nvcc * add shape checking code for pytorch op * namespace rename open3d::ml::detail -> open3d::ml::impl * only modify torch_cuda when building with cuda * -updated and cleaned up code for testing across ml frameworks * added reduce_subarrays_sum op for torch * rename dir with ml op tests to ml_ops * fix include paths * -fix missing entry in _build_config.py -fix bug not running the tests on the gpu -fix problems detected by pylint * add more information to open3d._build_config * fix another pytorch problem * catch ImportError for compatibility with python 3.5 * add missing import statement * rename mltest.parameterize -> mltest.parametrize * CUDA header as system header for CMake 3.16 (isl-org#2058) * update CI badges, remove appveyor (isl-org#2059) * Docs updated for build with CUDA (isl-org#2055) * Add building with CUDA * fix style * fixes * remove space * Remove space * TensorList refactoring and comparison tensor ops (isl-org#2066) * refactor TensorList, add Tensor comp ops * fix msvc error * fix utility::LogXX {} escape problem (isl-org#2072) * fix LogXX {} escape problem * fix a typo * specifying utf-8 encoding to open nb_path (isl-org#1935) * Release Python GIL for fast multithreaded IO (isl-org#1936) * ClassIO Python bindings now release GIL This allows multithreaded loading of PCD files, etc. * Update CHANGELOG.md as requested * Incorrect list-item indent: add 2 spaces * clang-format class_io.cpp Co-authored-by: Samson Lee <samson.lee@visionarymachines.com> * Fix window showing buffer from last resize when a window is moved on macOS (isl-org#2076) * lower case "open3d/3rdparty" intall dir (isl-org#2083) * fix bug in import_3rdparty_library for paths without trailing '/' (isl-org#2084) * -fix bug in import_3rdparty_library for paths without trailing '/' and allow to pass multiple include dirs * improved doc for import_3rdparty_library and build_3rdparty_library * fetch Filament with CMake FetchContent (isl-org#2085) * Implements python bindings for gui namespace (isl-org#2042) * no message * Added pybinds for TabControl and FileDialog * Add C++ function to initialize with a resource path, updated python package to include resources and update pybind to get resource path from module path * Added pybinds for Menu. * Refactored to gui pybinds to export properties wherever feasible * Fix height used for auto-sizing windows to be less than the monitor size to account for window titles and global menu/toolbar * Added python GUI example * Style changes * Merge branch 'master' into prewettg/pybind-gui * Don't include GUI pybinds if ENABLE_GUI=OFF * Fixed dynamic link error when importing open3d and ENABLE_GUI=OFF * Add python example of Open3DViewer UI, added some float->int bindings, and added a Window.set_on_layout() function to implement a layout callback. * Fix macOS sometimes not issuing draw event when UI is run through Python * Added documentation to gui pybinds * Style fixes * Added open3d.visualization.gui to the documentation, improved docstrings. * Style fix * Made GUI examples more like a framework of a simple app, rather than just functions that use the API. Also fixed crash when macOS file dialog has no filters, and a bug with dialogs sometimes not displaying until a mouse move. * Style fixes * Updated some copyright dates * Removed unused function * Moved nested callback functions to be top-level methods in GUI python examples * Fixed documentation failing when built with ENABLE_GUI=OFF * Style fixes * scalar support to more binary ops (isl-org#2093) * scalar support for more binary ops * fix boolean advanced indexing * Added gui::TreeView widget (isl-org#2081) * Build: exclude refactored Gui related classes when ENABLE_GUI=OFF * Build: Make sure refactored files are exluded from build when ENABLE_GUI=OFF Co-authored-by: prewettg <prewettg@gmail.com> Co-authored-by: Gernot <gernotriegler@gmail.com> Co-authored-by: Yixing Lao <yixing.lao@gmail.com> Co-authored-by: Benjamin Ummenhofer <benjaminum@gmail.com> Co-authored-by: pvarvak <60749825+pvarvak@users.noreply.github.com> Co-authored-by: Pranay Mathur <37473401+Matnay@users.noreply.github.com> Co-authored-by: Sanskar Agrawal <sanskaragrawal107@gmail.com> Co-authored-by: johnbomidi <37553132+johnbomidi@users.noreply.github.com> Co-authored-by: sammo2828 <sammo2828@gmail.com> Co-authored-by: Samson Lee <samson.lee@visionarymachines.com> * New Scene Interface [not ready for master] (isl-org#2102) * Updated Info.plist file for app to claim it edits and is the default type for the file associations. Also adds .pcd as a supported file type. (isl-org#2001) * fix obb rotate and scale (isl-org#1999) * python-based parallel style check for py/cpp/jupyter (isl-org#2003) * python-based parallel style check for py/cpp/jupyter * intentially introduce style error * remove redundant `pass` * reorder code * fix clang-format finder * require py36, hand-coded version parsing * fix intentional style errors * do not use system jsoncpp (isl-org#2005) * Reorg: Added namespace 'rendering' for visualization/rendering (isl-org#2002) * Reorg: Added namespace 'rendering' for visualization/rendering * Reorg: modify unit test to use new 'rendering' namespace * overload draw_geometries (isl-org#1997) * std::min of extent in visualizer (isl-org#2008) * remove voxel_pooling namespace (isl-org#2014) * ml namespaces reorg (isl-org#2017) * rename shape_checking -> op_util * rename detail -> impl * adapt includes in ml * fix namespace in shapechecking unit test * fix paths in CMakeLists for tensorflow and pytorch ops * reorg: remove hash_* namespaces (isl-org#2025) * reorg: hash_*::hash to hash_* (remove hash_* namespaces) * reorg: apply-style * Rename GLHelper namespace (isl-org#2024) * Reorg: change namespace GLHelper to gl_util * Style fixes * Reorg: remove texture_loading namespace * Removed visualization::gui::util namespace (isl-org#2013) * Removed visualization::gui::util namespace * Style fixes * add make check-cpp-style, apply-cpp-style (isl-org#2016) * move dlpack (isl-org#2009) * move dlpack * move dlpack tests * add license header * move Open3DDLManagedTensor constructor * more license * DLManagedTensor:Create * update Eigen to use the GitLab commit id (isl-org#2030) * Update PointCloud.h (isl-org#2032) Changed Incorrect interchanged description for variable points_ and colors_ * Update CHANGELOG.md (isl-org#2033) As required by guidelines with respect to Pull request isl-org#2032 * fix coord frame origin bug (isl-org#2034) * Added comment explaining why Util.h only has one function in it (isl-org#2028) * expose poisson rec threads param (isl-org#2035) * remove clean up * fix path (isl-org#2048) * Adds menu option on macOS to make Open3D viewer default for file types (isl-org#2031) * Adds menu option on macOS to make Open3D viewer default for file types we load. Also makes macOS menu more Mac-like, and fixes problems with auto-centering windows. * Linux fixes * Applied style * Get rid of some magic numbers * Use GitHub actions again for macOS CI (isl-org#2045) * enable macos github actions, disable macos travis * use ccache * skip brew upgrade * torch op nvcc bugfix and impl namespace (isl-org#2044) * fix deprecated warning with torch 1.5 * fix problems with compile options and nvcc * add shape checking code for pytorch op * namespace rename open3d::ml::detail -> open3d::ml::impl * only modify torch_cuda when building with cuda * use full include paths * disable CreateFromPointCloudPoisson test for macos (isl-org#2054) * disable CreateFromPointCloudPoisson test for macos * set macos threads=1 * ml op test code and torch reduce_subarrays_sum op (isl-org#2050) * fix deprecated warning with torch 1.5 * fix problems with compile options and nvcc * add shape checking code for pytorch op * namespace rename open3d::ml::detail -> open3d::ml::impl * only modify torch_cuda when building with cuda * -updated and cleaned up code for testing across ml frameworks * added reduce_subarrays_sum op for torch * rename dir with ml op tests to ml_ops * fix include paths * -fix missing entry in _build_config.py -fix bug not running the tests on the gpu -fix problems detected by pylint * add more information to open3d._build_config * fix another pytorch problem * catch ImportError for compatibility with python 3.5 * add missing import statement * rename mltest.parameterize -> mltest.parametrize * CUDA header as system header for CMake 3.16 (isl-org#2058) * update CI badges, remove appveyor (isl-org#2059) * Docs updated for build with CUDA (isl-org#2055) * Add building with CUDA * fix style * fixes * remove space * Remove space * TensorList refactoring and comparison tensor ops (isl-org#2066) * refactor TensorList, add Tensor comp ops * fix msvc error * fix utility::LogXX {} escape problem (isl-org#2072) * fix LogXX {} escape problem * fix a typo * specifying utf-8 encoding to open nb_path (isl-org#1935) * Release Python GIL for fast multithreaded IO (isl-org#1936) * ClassIO Python bindings now release GIL This allows multithreaded loading of PCD files, etc. * Update CHANGELOG.md as requested * Incorrect list-item indent: add 2 spaces * clang-format class_io.cpp Co-authored-by: Samson Lee <samson.lee@visionarymachines.com> * Fix window showing buffer from last resize when a window is moved on macOS (isl-org#2076) * lower case "open3d/3rdparty" intall dir (isl-org#2083) * fix bug in import_3rdparty_library for paths without trailing '/' (isl-org#2084) * -fix bug in import_3rdparty_library for paths without trailing '/' and allow to pass multiple include dirs * improved doc for import_3rdparty_library and build_3rdparty_library * fetch Filament with CMake FetchContent (isl-org#2085) * Implements python bindings for gui namespace (isl-org#2042) * no message * Added pybinds for TabControl and FileDialog * Add C++ function to initialize with a resource path, updated python package to include resources and update pybind to get resource path from module path * Added pybinds for Menu. * Refactored to gui pybinds to export properties wherever feasible * Fix height used for auto-sizing windows to be less than the monitor size to account for window titles and global menu/toolbar * Added python GUI example * Style changes * Merge branch 'master' into prewettg/pybind-gui * Don't include GUI pybinds if ENABLE_GUI=OFF * Fixed dynamic link error when importing open3d and ENABLE_GUI=OFF * Add python example of Open3DViewer UI, added some float->int bindings, and added a Window.set_on_layout() function to implement a layout callback. * Fix macOS sometimes not issuing draw event when UI is run through Python * Added documentation to gui pybinds * Style fixes * Added open3d.visualization.gui to the documentation, improved docstrings. * Style fix * Made GUI examples more like a framework of a simple app, rather than just functions that use the API. Also fixed crash when macOS file dialog has no filters, and a bug with dialogs sometimes not displaying until a mouse move. * Style fixes * Updated some copyright dates * Removed unused function * Moved nested callback functions to be top-level methods in GUI python examples * Fixed documentation failing when built with ENABLE_GUI=OFF * Style fixes * scalar support to more binary ops (isl-org#2093) * scalar support for more binary ops * fix boolean advanced indexing * Added gui::TreeView widget (isl-org#2081) * Build: exclude refactored Gui related classes when ENABLE_GUI=OFF * Build: Make sure refactored files are exluded from build when ENABLE_GUI=OFF * Refactor: Initial working version of Scene interface * Update Open3DViewer and associated files to use new Scene interfaces (+ style changes) * Fix spurious warnings * Fix material switching to work with new Scene interface Co-authored-by: prewettg <prewettg@gmail.com> Co-authored-by: Gernot <gernotriegler@gmail.com> Co-authored-by: Yixing Lao <yixing.lao@gmail.com> Co-authored-by: Benjamin Ummenhofer <benjaminum@gmail.com> Co-authored-by: pvarvak <60749825+pvarvak@users.noreply.github.com> Co-authored-by: Pranay Mathur <37473401+Matnay@users.noreply.github.com> Co-authored-by: Sanskar Agrawal <sanskaragrawal107@gmail.com> Co-authored-by: johnbomidi <37553132+johnbomidi@users.noreply.github.com> Co-authored-by: sammo2828 <sammo2828@gmail.com> Co-authored-by: Samson Lee <samson.lee@visionarymachines.com> * Bug fixes for refactor (isl-org#2114) * Added pybinds open3d::visualization::rendering and implement Python equivalent of vis app (isl-org#2113) * Fix compile warnings * Axes shouldn't cast or receive shadows * Removed code marked as unnecessary * Fix Windows error * Style fix and Windows fix * Don't include rendering pybinds if ENABLE_GUI=OFF * Code review changes * Removed unused member variable * Removed warning if attempting to remove non-existent geometry from the Scene Co-authored-by: Rene <errissa@gmail.com> Co-authored-by: Gernot <gernotriegler@gmail.com> Co-authored-by: Yixing Lao <yixing.lao@gmail.com> Co-authored-by: Benjamin Ummenhofer <benjaminum@gmail.com> Co-authored-by: pvarvak <60749825+pvarvak@users.noreply.github.com> Co-authored-by: Pranay Mathur <37473401+Matnay@users.noreply.github.com> Co-authored-by: Sanskar Agrawal <sanskaragrawal107@gmail.com> Co-authored-by: johnbomidi <37553132+johnbomidi@users.noreply.github.com> Co-authored-by: sammo2828 <sammo2828@gmail.com> Co-authored-by: Samson Lee <samson.lee@visionarymachines.com>
This implements a fairly minimal Open3DScene. It doesn't abstract any part of the renderer, so you will need to create/manage IBL and skyboxes on your own, for instance. From a developer perspective, I'm not sure it makes things all that much easier, except that it does remove everything related to GUI, and cleans up SceneWidget's interface.
One thing that we may want to consider is what to do about LOD. Right now point clouds will have a decimated copy created, which is used while doing things like rotating that strongly benefit from fast rendering. Right now you have to set the level of detail for the scene, so if you have multiple views they will all get the same LOD. This is not a big problem (and for the current app, not a problem at all) because it's rare to have multiple views onto a view, and even if you do (like CAD-style three perspectives) if you're rotating, you likely want to rotate all of them, so they would all benefit from being low-LOD. But Filament actually has View refer to a Scene (whereas we have it the other way around). In this model, the SceneWidget (which acts as, and owns, a View) could have two Open3DScene objects, for for high and one for low LOD. I don't know which is better, and the latter would take more refactoring. Just wanted to raise the issue.
This change is