48 namespace visualization {
52 struct TriangleMeshModel;
55 namespace visualizer {
61 enum class Shader { STANDARD, UNLIT, NORMALS, DEPTH };
65 std::shared_ptr<geometry::Geometry3D>
geometry;
67 std::shared_ptr<rendering::TriangleMeshModel>
model;
71 bool is_visible =
true;
74 bool is_color_default =
true;
79 gui::SceneWidget::Controls::ROTATE_CAMERA;
80 Shader scene_shader = Shader::STANDARD;
81 bool show_settings =
false;
82 bool show_skybox =
false;
83 bool show_axes =
false;
84 bool show_ground =
false;
86 rendering::Scene::GroundPlane::XZ;
87 bool is_animating =
false;
90 Eigen::Vector4f bg_color = {1.0f, 1.0f, 1.0f, 1.0f};
96 std::string ibl_path =
"";
97 int ibl_intensity = 0;
98 int sun_intensity = 100000;
99 Eigen::Vector3f sun_dir = {0.577f, -0.577f, -0.577f};
100 Eigen::Vector3f sun_color = {1.0f, 1.0f, 1.0f};
102 double current_time = 0.0;
103 double time_step = 1.0;
104 double frame_delay = 0.100;
110 void AddAction(
const std::string&
name,
113 void SetBackground(
const Eigen::Vector4f& bg_color,
114 std::shared_ptr<geometry::Image> bg_image =
nullptr);
116 void SetShader(
Shader shader);
118 void AddGeometry(
const std::string& name,
119 std::shared_ptr<geometry::Geometry3D> geom,
121 const std::string& group =
"",
123 bool is_visible =
true);
125 void AddGeometry(
const std::string& name,
126 std::shared_ptr<t::geometry::Geometry> tgeom,
128 const std::string& group =
"",
130 bool is_visible =
true);
132 void AddGeometry(
const std::string& name,
133 std::shared_ptr<rendering::TriangleMeshModel> tgeom,
135 const std::string& group =
"",
137 bool is_visible =
true);
139 void RemoveGeometry(
const std::string& name);
141 void ShowGeometry(
const std::string& name,
bool show);
143 DrawObject GetGeometry(
const std::string& name)
const;
145 void Add3DLabel(
const Eigen::Vector3f& pos,
const char* text);
146 void Clear3DLabels();
148 void SetupCamera(
float fov,
149 const Eigen::Vector3f& center,
150 const Eigen::Vector3f& eye,
151 const Eigen::Vector3f& up);
153 const Eigen::Matrix4d& extrinsic);
154 void SetupCamera(
const Eigen::Matrix3d& intrinsic,
155 const Eigen::Matrix4d& extrinsic,
156 int intrinsic_width_px,
157 int intrinsic_height_px);
159 void ResetCameraToDefault();
161 void ShowSettings(
bool show);
162 void ShowSkybox(
bool show);
163 void ShowAxes(
bool show);
164 void ShowGround(
bool show);
166 void SetPointSize(
int point_size);
167 void SetLineWidth(
int line_width);
168 void EnableGroup(
const std::string& group,
bool enable);
171 std::vector<O3DVisualizerSelections::SelectionSet> GetSelectionSets()
const;
173 double GetAnimationFrameDelay()
const;
174 void SetAnimationFrameDelay(
double secs);
176 double GetAnimationTimeStep()
const;
177 void SetAnimationTimeStep(
double time_step);
179 double GetAnimationDuration()
const;
180 void SetAnimationDuration(
double sec);
182 double GetCurrentTime()
const;
183 void SetCurrentTime(
double t);
185 bool GetIsAnimating()
const;
186 void SetAnimating(
bool is_animating);
188 void SetOnAnimationFrame(std::function<
void(
O3DVisualizer&,
double)> cb);
191 void SetOnAnimationTick(
194 void ExportCurrentImage(
const std::string& path);
200 void StartRPCInterface(
const std::string& address,
int timeout);
202 void StopRPCInterface();
209 std::unique_ptr<Impl> impl_;
Definition: Open3DScene.h:57
const char const char value recording_handle imu_sample recording_handle uint8_t size_t data_size k4a_record_configuration_t config target_format k4a_capture_t capture_handle k4a_imu_sample_t imu_sample playback_handle k4a_logging_message_cb_t void min_level device_handle k4a_imu_sample_t timeout_in_ms capture_handle capture_handle capture_handle image_handle temperature_c k4a_image_t image_handle uint8_t image_handle image_handle image_handle image_handle image_handle timestamp_usec white_balance image_handle k4a_device_configuration_t config device_handle char size_t serial_number_size bool int32_t int32_t int32_t int32_t k4a_color_control_mode_t default_mode mode
Definition: K4aPlugin.cpp:680
Definition: O3DVisualizer.cpp:299
std::shared_ptr< rendering::TriangleMeshModel > model
Definition: O3DVisualizer.h:67
std::string name
Definition: O3DVisualizer.h:64
Contains the pinhole camera intrinsic parameters.
Definition: PinholeCameraIntrinsic.h:51
Definition: O3DVisualizer.h:57
Definition: O3DVisualizer.h:77
std::shared_ptr< t::geometry::Geometry > tgeometry
Definition: O3DVisualizer.h:66
ImGuiContext * context
Definition: Window.cpp:95
Shader
Definition: O3DVisualizer.h:61
rendering::Material material
Definition: O3DVisualizer.h:68
std::string group
Definition: O3DVisualizer.h:69
Definition: O3DVisualizer.h:63
std::set< std::string > enabled_groups
Definition: O3DVisualizer.h:88
GroundPlane
Definition: Scene.h:199
Definition: Material.h:41
Definition: PinholeCameraIntrinsic.cpp:35
TickResult
Definition: O3DVisualizer.h:190
std::string name
Definition: FilePCD.cpp:58
int height
Definition: FilePCD.cpp:72
std::shared_ptr< geometry::Geometry3D > geometry
Definition: O3DVisualizer.h:65
std::function< void(std::shared_ptr< core::Tensor >)> callback
Definition: FilamentRenderer.cpp:227
int width
Definition: FilePCD.cpp:71