MCPcopy Create free account
hub / github.com/Robbyant/lingbot-map / ViewerState

Class ViewerState

demo_render/interactive_viewer/server.py:184–426  ·  view source on GitHub ↗

Holds all mutable viewer state.

Source from the content-addressed store, hash-verified

182
183
184class ViewerState:
185 """Holds all mutable viewer state."""
186
187 def __init__(self):
188 self.camera: Optional[OrbitCamera] = None
189 self.pcm: Optional[PointCloudManager] = None
190 self.animator = KeyframeAnimator()
191
192 # Display params
193 self.frame_idx = 0
194 self.display_mode = "all"
195 self.conf_threshold = 0.0
196 self.point_size = 2.0
197 self.background = [0.0, 0.0, 0.0] # black
198 self.render_width = 1280
199 self.render_height = 720
200 self.max_points = 5_000_000 # cap for interactive rendering
201
202 # Octree LOD
203 self.octree = None # OctreeSPC instance
204 self.lod_target_pixels = 1.5
205 self.near = 0.01
206 self.far = 1000.0
207
208 # EDL post-processing
209 self.edl_enabled = True
210 self.edl_strength = 0.4
211 self.edl_radius = 2
212
213 # Camera trail
214 self.show_trail = True
215 self.cam_positions = None # (S, 3) numpy array
216
217 # Renderer
218 self._renderer = None
219 self._pcd = None
220 self._mat = None
221 self._dirty_geometry = True
222 self._dirty_camera = True
223
224 def init_renderer(self, width: int, height: int):
225 o3d = _import_open3d()
226 self.render_width = width
227 self.render_height = height
228 self._renderer = o3d.visualization.rendering.OffscreenRenderer(width, height)
229
230 cg = o3d.visualization.rendering.ColorGrading(
231 o3d.visualization.rendering.ColorGrading.Quality.ULTRA,
232 o3d.visualization.rendering.ColorGrading.ToneMapping.LINEAR,
233 )
234 self._renderer.scene.view.set_color_grading(cg)
235
236 bg = self.background
237 self._renderer.scene.set_background(np.array([bg[0], bg[1], bg[2], 1.0]))
238
239 self._mat = o3d.visualization.rendering.MaterialRecord()
240 self._mat.shader = "defaultUnlit"
241 self._mat.point_size = self.point_size

Callers 1

load_sceneFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected