// ---------------------------------------------------------------------------- // - Open3D: www.open3d.org - // ---------------------------------------------------------------------------- // Copyright (c) 2018-2023 www.open3d.org // SPDX-License-Identifier: MIT // ---------------------------------------------------------------------------- #pragma once #include #include "open3d/visualization/rendering/Model.h" #include "open3d/visualization/visualizer/O3DVisualizer.h" namespace open3d { namespace visualization { struct DrawObject { std::string name; std::shared_ptr geometry; std::shared_ptr tgeometry; std::shared_ptr model; bool is_visible; DrawObject(const std::string &n, std::shared_ptr g, bool vis = true); DrawObject(const std::string &n, std::shared_ptr tg, bool vis = true); DrawObject(const std::string &n, std::shared_ptr m, bool vis = true); }; struct DrawAction { std::string name; std::function callback; }; void Draw(const std::vector> &geometries, const std::string &window_name = "Open3D", int width = 1024, int height = 768, const std::vector &actions = {}); void Draw( const std::vector> &tgeometries, const std::string &window_name = "Open3D", int width = 1024, int height = 768, const std::vector &actions = {}); void Draw(const std::vector> &models, const std::string &window_name = "Open3D", int width = 1024, int height = 768, const std::vector &actions = {}); void Draw(const std::vector &objects, const std::string &window_name = "Open3D", int width = 1024, int height = 768, const std::vector &actions = {}); } // namespace visualization } // namespace open3d